Class: DCell::Registry::ZkAdapter::Registry
- Inherits:
-
Object
- Object
- DCell::Registry::ZkAdapter::Registry
- Defined in:
- lib/dcell/registries/zk_adapter.rb
Instance Method Summary collapse
- #all ⇒ Object
- #clear ⇒ Object
- #get(key) ⇒ Object
-
#initialize(zk, base_path, name, ephemeral) ⇒ Registry
constructor
A new instance of Registry.
- #set(key, value) ⇒ Object
Constructor Details
#initialize(zk, base_path, name, ephemeral) ⇒ Registry
Returns a new instance of Registry.
44 45 46 47 48 49 |
# File 'lib/dcell/registries/zk_adapter.rb', line 44 def initialize(zk, base_path, name, ephemeral) @zk = zk @base_path = File.join(base_path, name.to_s) @ephemeral = ephemeral @zk.mkdir_p @base_path end |
Instance Method Details
#all ⇒ Object
65 66 67 |
# File 'lib/dcell/registries/zk_adapter.rb', line 65 def all @zk.children @base_path end |
#clear ⇒ Object
69 70 71 72 |
# File 'lib/dcell/registries/zk_adapter.rb', line 69 def clear @zk.rm_rf @base_path @zk.mkdir_p @base_path end |
#get(key) ⇒ Object
51 52 53 54 55 |
# File 'lib/dcell/registries/zk_adapter.rb', line 51 def get(key) result, _ = @zk.get("#{@base_path}/#{key}") Marshal.load result rescue ZK::Exceptions::NoNode end |
#set(key, value) ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/dcell/registries/zk_adapter.rb', line 57 def set(key, value) path = "#{@base_path}/#{key}" string = Marshal.dump value @zk.set path, string rescue ZK::Exceptions::NoNode @zk.create path, string, :ephemeral => @ephemeral end |