Sha256: 0ac74f8b1e526496ec545ca08be4dc9c163436c857c04e5a824ff3d852100473
Contents?: true
Size: 693 Bytes
Versions: 17
Compression:
Stored size: 693 Bytes
Contents
module Kestrel class Client class Namespace < Proxy def initialize(namespace, client) @namespace = namespace @matcher = /\A#{Regexp.escape(@namespace)}:(.+)/ super(client) end %w(set get delete flush stat).each do |method| class_eval "def #{method}(key, *args); client.#{method}(namespace(key), *args) end", __FILE__, __LINE__ end def available_queues client.available_queues.map {|q| in_namespace(q) }.compact end def in_namespace(key) if match = @matcher.match(key) match[1] end end def namespace(key) "#{@namespace}:#{key}" end end end end
Version data entries
17 entries across 17 versions & 1 rubygems