module Bcash::Helpers::Request

Private Instance Methods

assert_valid_keys(hash, *valid_keys) click to toggle source
# File lib/bcash/helpers/request.rb, line 14
def assert_valid_keys(hash, *valid_keys)
  valid_keys_text = "Valid keys are: #{valid_keys.join(", ")}"
  if hash.empty?
    raise(ArgumentError, "Keys are required. #{valid_keys_text}")
  else
    unknown_keys = hash.keys - [valid_keys].flatten
    raise(ArgumentError, "Unknown key(s): #{unknown_keys.join(", ")}. #{valid_keys_text}") unless unknown_keys.empty?
  end
end
authorization_key() click to toggle source
# File lib/bcash/helpers/request.rb, line 32
def authorization_key
  "Basic #{Base64.strict_encode64("#{email}:#{token}")}"
end
ensure_email_and_token_are_set!() click to toggle source
# File lib/bcash/helpers/request.rb, line 24
def ensure_email_and_token_are_set!
  if email.blank?
    raise StandardError, 'Bcash email is not set'
  elsif token.blank?
    raise StandardError, 'Bcash token is not set'
  end
end
json_request(verb, method, data, options = {}) click to toggle source
# File lib/bcash/helpers/request.rb, line 4
def json_request(verb, method, data, options = {})
  ensure_email_and_token_are_set!

  options.merge! headers: {
    "Authorization" => authorization_key,
  }, body: data

  self.class.send(verb, method, options)
end