Class: DCell::Registry::RedisAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/dcell/registries/redis_adapter.rb

Defined Under Namespace

Classes: GlobalRegistry, NodeRegistry

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ RedisAdapter

Returns a new instance of RedisAdapter.



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/dcell/registries/redis_adapter.rb', line 7

def initialize(options)
  # Convert all options to symbols :/
  options = options.inject({}) { |h,(k,v)| h[k.to_sym] = v; h }

  @env = options[:env] || 'production'
  @namespace = options[:namespace] || "dcell_#{@env}"

  redis  = Redis.new options
  @redis = Redis::Namespace.new @namespace, :redis => redis

  @node_registry   = NodeRegistry.new(@redis)
  @global_registry = GlobalRegistry.new(@redis)
end

Instance Method Details

#clear_globalsObject



25
26
27
# File 'lib/dcell/registries/redis_adapter.rb', line 25

def clear_globals
  @global_registry.clear
end

#clear_nodesObject



21
22
23
# File 'lib/dcell/registries/redis_adapter.rb', line 21

def clear_nodes
  @node_registry.clear
end

#get_global(key) ⇒ Object



81
# File 'lib/dcell/registries/redis_adapter.rb', line 81

def get_global(key);        @global_registry.get(key) end

#get_node(node_id) ⇒ Object



51
# File 'lib/dcell/registries/redis_adapter.rb', line 51

def get_node(node_id);       @node_registry.get(node_id) end

#global_keysObject



83
# File 'lib/dcell/registries/redis_adapter.rb', line 83

def global_keys;            @global_registry.global_keys end

#nodesObject



53
# File 'lib/dcell/registries/redis_adapter.rb', line 53

def nodes;                   @node_registry.nodes end

#set_global(key, value) ⇒ Object



82
# File 'lib/dcell/registries/redis_adapter.rb', line 82

def set_global(key, value); @global_registry.set(key, value) end

#set_node(node_id, addr) ⇒ Object



52
# File 'lib/dcell/registries/redis_adapter.rb', line 52

def set_node(node_id, addr); @node_registry.set(node_id, addr) end