Skip to content

Instantly share code, notes, and snippets.

@gerep
Forked from workmad3/riak_wrapper.rb
Created October 17, 2013 22:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gerep/7033386 to your computer and use it in GitHub Desktop.
Save gerep/7033386 to your computer and use it in GitHub Desktop.
class RiakWrapper
def initialize
walk_server = WalkServer.first
@client = Riak::Client.new(:protocol => "pbc", :host => walk_server.host, :pb_port => walk_server.pb_port)
end
def exists?(key, bucket_name)
bucket(bucket_name).exists?(key)
end
def get(key, bucket_name)
bucket(bucket_name).get(key)
end
def delete(key, bucket_name)
bucket(bucket_name).delete(key) if exists?(key, bucket_name)
end
def bucket(bucket_name)
@client.bucket(bucket_name)
end
def self.current
Thread.local[:current_riak_wrapper] ||= new
end
def self.reset
Thread.local[:current_riak_wrapper] = nil
end
end
# USAGE EXAMPLE
RiakWrapper.current.delete("#dg_123456", 'terminals')
RiakWrapper.current.exists?("bm_654321.dat", 'files')
RiakWrapper.current.get("ig_13579.xml", 'files')
# REAL USE
RiakWrapper.current.delete("#{acronym}_#{self.number}", 'terminals')
RiakWrapper.current.delete("#{acronym}_#{self.number}_params.dat", 'assets')
RiakWrapper.current.delete("#{acronym}_#{self.number}_params.dat", 'files')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment