class Metadata::V2::Client
Public Class Methods
new(path = nil)
click to toggle source
# File lib/metadata/v2/client.rb, line 13 def initialize(path = nil) @socket = UNIXSocket.new path || ENV.fetch('METADATA_SOCKET') { discover } self end
Public Instance Methods
delete(key) { |response!| ... }
click to toggle source
# File lib/metadata/v2/client.rb, line 33 def delete(key) request! 'DELETE', key.to_s block_given? ? yield(response!) : response! end
get(key) { |response!| ... }
click to toggle source
# File lib/metadata/v2/client.rb, line 23 def get(key) request! 'GET', key.to_s block_given? ? yield(response!) : response! end
keys() { |response!| ... }
click to toggle source
# File lib/metadata/v2/client.rb, line 18 def keys request! 'KEYS' block_given? ? yield(response!) : response! end
put(key, value) { |response!| ... }
click to toggle source
# File lib/metadata/v2/client.rb, line 28 def put(key, value) request! 'PUT', key.to_s, value.to_s block_given? ? yield(response!) : response! end
Private Instance Methods
discover()
click to toggle source
# File lib/metadata/v2/client.rb, line 40 def discover SOCKET_PATHS.find { |path| File.socket? path } or raise Errno::ENOENT end
flush!()
click to toggle source
# File lib/metadata/v2/client.rb, line 52 def flush! raw_request! "\n" "invalid command\n" == raw_response! end
negotiate!()
click to toggle source
# File lib/metadata/v2/client.rb, line 57 def negotiate! raw_request! "NEGOTIATE V2\n" "V2_OK\n" == raw_response! end
raw_request!(message)
click to toggle source
# File lib/metadata/v2/client.rb, line 44 def raw_request!(message) @socket.sendmsg message.to_s end
raw_response!()
click to toggle source
# File lib/metadata/v2/client.rb, line 48 def raw_response! @socket.readline end
request!(*args)
click to toggle source
# File lib/metadata/v2/client.rb, line 62 def request!(*args) raw_request! Request.new(*args) end
response!()
click to toggle source
# File lib/metadata/v2/client.rb, line 66 def response! Response.new raw_response! end