class ConfigKit::Client::ConsulConnection
Attributes
config[R]
connection[R]
Public Class Methods
new(url, acl_token)
click to toggle source
# File lib/config_kit/client.rb, line 16 def initialize(url, acl_token) setup_consul(url, acl_token) end
Public Instance Methods
create_txn(data)
click to toggle source
# File lib/config_kit/client.rb, line 34 def create_txn(data) prepare_txn_data(data,type='create') self end
delete_txn(data,recurse=false)
click to toggle source
# File lib/config_kit/client.rb, line 49 def delete_txn(data,recurse=false) prepare_txn_data(data,type='delete',recurse) self end
determine_verb(_type, recurse)
click to toggle source
# File lib/config_kit/client.rb, line 87 def determine_verb(_type, recurse) verb = nil type = _type.to_s case type when 'read' if recurse verb = 'get-tree' else verb = 'get' end when 'update' verb = 'set' when 'create' verb = 'set' when 'delete' if recurse verb = 'delete-tree' else verb = 'delete' end else verb = nil end verb end
init_txn()
click to toggle source
# File lib/config_kit/client.rb, line 54 def init_txn reset_txn_data end
perform_txn()
click to toggle source
# File lib/config_kit/client.rb, line 58 def perform_txn begin txn(@txn_data) rescue => e raise ConfigKitTxnError.new "perform txn error:#{e.message}" ensure reset_txn_data end end
prepare_txn_data(data, type='read', recurse=false)
click to toggle source
# File lib/config_kit/client.rb, line 72 def prepare_txn_data(data, type='read', recurse=false) init_txn if @txn_data.nil? verb = determine_verb(type, recurse) data.each_pair do |k,v| kv = { "Verb" => verb, "Key" => k.to_s, "Value" => v.to_s } @txn_data << {"KV" => kv} end @txn_data end
put!(key, value, options = nil)
click to toggle source
# File lib/config_kit/client.rb, line 28 def put!(key, value, options = nil) response = put(key, value, options = nil) raise ConfigKitUpdateError, "Config Kit Update key:#{key} error" unless response response end
read_txn(data,recurse=false)
click to toggle source
# File lib/config_kit/client.rb, line 39 def read_txn(data,recurse=false) prepare_txn_data(data,type='read',recurse) self end
reset_txn_data()
click to toggle source
# File lib/config_kit/client.rb, line 68 def reset_txn_data @txn_data = [] end
setup_consul(url, acl_token)
click to toggle source
# File lib/config_kit/client.rb, line 20 def setup_consul(url, acl_token) @config = Diplomat.configure do |config| config.url = url config.acl_token = acl_token unless acl_token.nil? end @connection = Diplomat end
update_txn(data)
click to toggle source
# File lib/config_kit/client.rb, line 44 def update_txn(data) prepare_txn_data(data,type='read') self end