class Alcatraz::Client::Connection
Public Class Methods
new(options = {})
click to toggle source
# File lib/alcatraz/client/connection.rb, line 8 def initialize(options = {}) merged_options = ::Alcatraz::Client.options.merge(options) Configuration::VALID_OPTIONS.each do |key| public_send("#{key}=", merged_options[key]) end end
Public Instance Methods
create_client!(name, enable_two_factor_auth = false)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 32 def create_client!(name, enable_two_factor_auth = false) response = post('/api_clients', api_client: {name: name, enable_two_factor_auth: enable_two_factor_auth}) if response.success? response.body.api_client else nil end end
destroy_client!(id)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 41 def destroy_client!(id) delete("/api_clients/#{id}") end
disable_two_factor_auth!(id)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 54 def disable_two_factor_auth!(id) response = put("/api_clients/#{id}/disable_two_factor_auth") if response.success? response.body.api_client else nil end end
enable_two_factor_auth!(id)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 45 def enable_two_factor_auth!(id) response = put("/api_clients/#{id}/enable_two_factor_auth") if response.success? response.body.api_client else nil end end
get_card(id)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 16 def get_card(id) parse_response_to_secure_object(get("/cards/#{id}")) end
get_data(id)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 24 def get_data(id) parse_response_to_secure_object(get("/secure_data/#{id}")) end
store_card!(params)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 20 def store_card!(params) parse_response_to_secure_object(post('/cards', params)) end
store_data!(params)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 28 def store_data!(params) parse_response_to_secure_object(post('/secure_data', params)) end
Private Instance Methods
connection()
click to toggle source
# File lib/alcatraz/client/connection.rb, line 87 def connection Faraday.new(url: api_url) do |conn| conn.request :json conn.use Faraday::Request::Hmac, secret_key, nonce: (Time.now.to_f * 1e6).to_i.to_s, query_based: true, extra_auth_params: {public_key: public_key} conn.use Faraday::Response::Mashify conn.response :json, content_type: /\bjson$/ conn.adapter Faraday.default_adapter end end
delete(path)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 109 def delete(path) response = connection.delete(path) response.success? end
get(path, options = {})
click to toggle source
# File lib/alcatraz/client/connection.rb, line 97 def get(path, options = {}) connection.get(path, options) end
parse_response_to_secure_object(response)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 114 def parse_response_to_secure_object(response) if response.success? if response.body.respond_to? :card response.body.card elsif response.body.respond_to? :secure_datum response.body.secure_datum else response.body end else nil end end
post(path, options = {})
click to toggle source
# File lib/alcatraz/client/connection.rb, line 101 def post(path, options = {}) connection.post(path, options) end
put(path, options = {})
click to toggle source
# File lib/alcatraz/client/connection.rb, line 105 def put(path, options = {}) connection.put(path, options) end
unwrap_to_id(object_or_id)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 77 def unwrap_to_id(object_or_id) object_or_id = object_or_id.id unless object_or_id.kind_of?(String) object_or_id end
unwrap_to_key(object_or_key)
click to toggle source
# File lib/alcatraz/client/connection.rb, line 82 def unwrap_to_key(object_or_key) object_or_key = object_or_key.public_key unless object_or_key.kind_of?(String) object_or_key end