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.



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

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_all_nodesObject



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

def clear_all_nodes
  @node_registry.clear_all
end

#clear_globalsObject



30
31
32
# File 'lib/dcell/registries/redis_adapter.rb', line 30

def clear_globals
  @global_registry.clear_all
end

#get_global(key) ⇒ Object



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

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

#get_node(node_id) ⇒ Object



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

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

#global_keysObject



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

def global_keys;            @global_registry.global_keys end

#nodesObject



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

def nodes;                   @node_registry.nodes end

#remove_node(node) ⇒ Object



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

def remove_node(node)
  @node_registry.remove node
end

#set_global(key, value) ⇒ Object



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

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

#set_node(node_id, addr) ⇒ Object



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

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