Sha256: 7e789c17bfda240a9dd2e447b735984b61c77d872391a1e4c86da485c88b9bd6
Contents?: true
Size: 1.06 KB
Versions: 4
Compression:
Stored size: 1.06 KB
Contents
class Etcdv3 class KV SORT_TARGET = { key: 0, version: 1, create: 2, mod: 3, value: 4 } SORT_ORDER = { none: 0, ascend: 1, descend: 2 } def initialize(hostname, credentials, metadata={}) @stub = Etcdserverpb::KV::Stub.new(hostname, credentials) @metadata = metadata end def put(key, value, lease=nil) kv = Etcdserverpb::PutRequest.new(key: key, value: value) kv.lease = lease if lease @stub.put(kv, metadata: @metadata) end def get(key, opts={}) opts[:sort_order] = SORT_ORDER[opts[:sort_order]] \ if opts[:sort_order] opts[:sort_target] = SORT_TARGET[opts[:sort_target]] \ if opts[:sort_target] opts[:key] = key kv = Etcdserverpb::RangeRequest.new(opts) @stub.range(kv, metadata: @metadata) end def del(key, range_end="") request = Etcdserverpb::DeleteRangeRequest.new( key: key, range_end: range_end ) @stub.delete_range(request, metadata: @metadata) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
etcdv3-0.4.0 | lib/etcdv3/kv.rb |
etcdv3-0.3.2 | lib/etcdv3/kv.rb |
etcdv3-0.3.1 | lib/etcdv3/kv.rb |
etcdv3-0.3.0 | lib/etcdv3/kv.rb |