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