class DCell::Registry::S3Adapter
Public Class Methods
new(options)
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 6 def initialize(options) # Convert all options to symbols :/ options = options.inject({}) { |h,(k,v)| h[k.to_sym] = v; h } @env = options[:env] || 'production' bucket = options[:bucket] || "dcell_#{Celluloid.uuid}_#{@env}" access_key_id = options[:access_key_id] || ENV['AWS_ACCESS_KEY_ID'] secret_access_key = options[:secret_access_key] || ENV['AWS_SECRET_ACCESS_KEY'] s3_opts = { :access_key_id => access_key_id, :secret_access_key => secret_access_key } s3_opts.merge!({ :region => options[:region] }) if options[:region] @s3 = AWS::S3.new(s3_opts) @bucket = @s3.buckets[bucket] @bucket = @s3.buckets.create(bucket) unless @bucket.exists? @node_registry = NodeRegistry.new(@bucket) @global_registry = GlobalRegistry.new(@bucket) end
Public Instance Methods
clear_globals()
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 30 def clear_globals @global_registry.clear end
clear_nodes()
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 26 def clear_nodes @node_registry.clear end
delete_store()
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 34 def delete_store @bucket.delete! rescue AWS::S3::Errors::NoSuchBucket Logger.info "Bucket #{@bucket.name} doesn't exist" end
get_global(key)
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 104 def get_global(key); @global_registry.get(key) end
get_node(node_id)
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 68 def get_node(node_id); @node_registry.get(node_id) end
global_keys()
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 106 def global_keys; @global_registry.global_keys end
nodes()
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 70 def nodes; @node_registry.nodes end
set_global(key, value)
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 105 def set_global(key, value); @global_registry.set(key, value) end
set_node(node_id, addr)
click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 69 def set_node(node_id, addr); @node_registry.set(node_id, addr) end