class Etcdv3::Namespace::KV::Transaction
Constants
- COMPARISON_IDENTIFIERS
Available comparison identifiers.
- TARGETS
Available targets to compare with.
Attributes
compare[W]
failure[W]
success[W]
Public Class Methods
new(namespace)
click to toggle source
# File lib/etcdv3/namespace/kv/transaction.rb, line 24 def initialize(namespace) @namespace = namespace end
Public Instance Methods
compare()
click to toggle source
# File lib/etcdv3/namespace/kv/transaction.rb, line 28 def compare @compare ||= [] end
create_revision(key, compare_type, value)
click to toggle source
txn.create_revision('names', :less, 10)
# File lib/etcdv3/namespace/kv/transaction.rb, line 75 def create_revision(key, compare_type, value) generate_compare(:create_revision, key, compare_type, value) end
del(key, range_end='')
click to toggle source
txn.del('key')
# File lib/etcdv3/namespace/kv/transaction.rb, line 53 def del(key, range_end='') del_request(key, range_end) end
failure()
click to toggle source
# File lib/etcdv3/namespace/kv/transaction.rb, line 36 def failure @failure ||=[] end
get(key, opts={})
click to toggle source
txn.get('key')
# File lib/etcdv3/namespace/kv/transaction.rb, line 48 def get(key, opts={}) get_request(key, opts) end
mod_revision(key, compare_type, value)
click to toggle source
txn.mod_revision('names', :not_equal, 0)
# File lib/etcdv3/namespace/kv/transaction.rb, line 70 def mod_revision(key, compare_type, value) generate_compare(:mod_revision, key, compare_type, value) end
put(key, value, lease=nil)
click to toggle source
txn.put('my', 'key', lease_id: 1)
# File lib/etcdv3/namespace/kv/transaction.rb, line 43 def put(key, value, lease=nil) put_request(key, value, lease) end
success()
click to toggle source
# File lib/etcdv3/namespace/kv/transaction.rb, line 32 def success @success ||= [] end
value(key, compare_type, value)
click to toggle source
txn.value('names', :equal, 'wowza' )
# File lib/etcdv3/namespace/kv/transaction.rb, line 65 def value(key, compare_type, value) generate_compare(:value, key, compare_type, value) end
version(key, compare_type, value)
click to toggle source
txn.version('names', :greater, 0 )
# File lib/etcdv3/namespace/kv/transaction.rb, line 60 def version(key, compare_type, value) generate_compare(:version, key, compare_type, value) end
Private Instance Methods
generate_compare(target_union, key, compare_type, value)
click to toggle source
# File lib/etcdv3/namespace/kv/transaction.rb, line 81 def generate_compare(target_union, key, compare_type, value) key = prepend_prefix(@namespace, key) Etcdserverpb::Compare.new( key: key, result: COMPARISON_IDENTIFIERS[compare_type], target: TARGETS[target_union], target_union => value ) end