class SimpleApiAuth::Config

Attributes

allowed_methods[RW]
hasher[RW]
header_keys[RW]
logger[RW]
model_defaults[RW]
request_fields[RW]
request_normalizer[RW]
request_timeout[RW]
required_headers[RW]
signer[RW]

Public Class Methods

new() click to toggle source
# File lib/simple-api-auth/config.rb, line 7
def initialize
  reset!
end

Public Instance Methods

make_model_options(options) click to toggle source
# File lib/simple-api-auth/config.rb, line 24
def make_model_options(options)
  options = model_defaults.merge(options)
  if options[:auto_generate].is_a?(Symbol)
    options[:auto_generate] = [options[:auto_generate]]
  elsif !options[:auto_generate].is_a?(Array)
    options[:auto_generate] = options[:auto_generate] ? [:saa_key, :saa_secret] : []
  end
  options
end
reset!() click to toggle source
# File lib/simple-api-auth/config.rb, line 11
def reset!
  self.request_normalizer = SimpleApiAuth::Helpers::RequestNormalizer
  self.model_defaults = model_default_values
  self.header_keys = default_header_keys
  self.request_fields = default_request_fields
  self.allowed_methods = [:get, :post, :put, :patch, :delete]
  self.required_headers = default_header_keys.values
  self.hasher = SimpleApiAuth::Hasher::SHA1
  self.signer = SimpleApiAuth::Signer
  self.request_timeout = 5
  self.logger = nil
end

Private Instance Methods

default_header_keys() click to toggle source
# File lib/simple-api-auth/config.rb, line 46
def default_header_keys
  {
    saa_key: :http_x_saa_key,
    saa_auth_time: :http_x_saa_auth_time,
    authorization: :http_authorization
  }
end
default_request_fields() click to toggle source
# File lib/simple-api-auth/config.rb, line 36
def default_request_fields
  {
    headers: :headers,
    http_verb: :method,
    uri: :path,
    query_string: :query_string,
    body: :body
  }
end
model_default_values() click to toggle source
# File lib/simple-api-auth/config.rb, line 54
def model_default_values
  {
    saa_key: :saa_key,
    saa_secret: :saa_secret,
    auto_generate: []
  }
end