module Diplomat::ApiOptions

Helper methods for interacting with the Consul RESTful API

Public Instance Methods

check_acl_token() click to toggle source
# File lib/diplomat/api_options.rb, line 4
def check_acl_token
  use_named_parameter('token', Diplomat.configuration.acl_token)
end
use_cas(options) click to toggle source
# File lib/diplomat/api_options.rb, line 8
def use_cas(options)
  options ? use_named_parameter('cas', options[:cas]) : []
end
use_consistency(options) click to toggle source
# File lib/diplomat/api_options.rb, line 12
def use_consistency(options)
  options && options[:consistency] ? [options[:consistency].to_s] : []
end
valid_transaction_verbs() click to toggle source

Mapping for valid key/value store transaction verbs and required parameters

@return [Hash] valid key/store transaction verbs and required parameters rubocop:disable MethodLength

# File lib/diplomat/api_options.rb, line 20
def valid_transaction_verbs
  {
    'set' => %w[Key Value],
    'cas' => %w[Key Value Index],
    'lock' => %w[Key Value Session],
    'unlock' => %w[Key Value Session],
    'get' => %w[Key],
    'get-tree' => %w[Key],
    'check-index' => %w[Key Index],
    'check-session' => %w[Key Session],
    'delete' => %w[Key],
    'delete-tree' => %w[Key],
    'delete-cas' => %w[Key Index]
  }
end
valid_value_transactions() click to toggle source

Key/value store transactions that require that a value be set

@return [Array<String>] verbs that require a value be set

# File lib/diplomat/api_options.rb, line 40
def valid_value_transactions
  @valid_value_transactions ||= valid_transaction_verbs.select do |verb, requires|
    verb if requires.include? 'Value'
  end
end