class DCell::Registry::S3Adapter::NodeRegistry

Public Class Methods

new(bucket) click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 41
def initialize(bucket)
  @bucket = bucket
end

Public Instance Methods

clear() click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 63
def clear
  @bucket.objects.with_prefix('nodes/').map(&:delete)
end
get(node_id) click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 45
def get(node_id)
  @bucket.objects["nodes/#{node_id}"].read
rescue AWS::S3::Errors::NoSuchKey
  Logger.error "No such node #{node_id}"
  nil
end
nodes() click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 56
def nodes
  @bucket.objects.with_prefix('nodes/').inject([]) do |arr, elt|
    elt.key =~ /^nodes\/(.+)$/
    arr << $1
  end
end
set(node_id, addr) click to toggle source
# File lib/dcell/registries/s3_adapter.rb, line 52
def set(node_id, addr)
  @bucket.objects["nodes/#{node_id}"].write(addr)
end