class PassaporteWeb::Configuration

Attributes

application_secret[RW]
application_token[RW]
url[RW]
user_agent[RW]
user_token[RW]

Public Class Methods

new() click to toggle source
# File lib/passaporte_web/configuration.rb, line 8
def initialize
  @url = 'https://app.passaporteweb.com.br'
  @user_agent = "PassaporteWeb Ruby Client v#{PassaporteWeb::VERSION}"
  @application_token = nil
  @application_secret = nil
  @user_token = nil
end

Public Instance Methods

application_credentials() click to toggle source
# File lib/passaporte_web/configuration.rb, line 16
def application_credentials
  check_tokens! :application_token, :application_secret
  base64_credential('application', @application_token, @application_secret)
end
user_credentials() click to toggle source
# File lib/passaporte_web/configuration.rb, line 21
def user_credentials
  check_tokens! :user_token
  base64_credential('user', @user_token)
end

Private Instance Methods

base64_credential(type, user, password=nil) click to toggle source
# File lib/passaporte_web/configuration.rb, line 35
def base64_credential(type, user, password=nil)
  return "Basic #{::Base64.strict_encode64("#{user}:#{password}")}" if type.eql? 'application'
  return "Basic #{::Base64.strict_encode64(":#{user}")}" if type.eql? 'user'
end
check_tokens!(*tokens) click to toggle source
# File lib/passaporte_web/configuration.rb, line 28
def check_tokens!(*tokens)
  tokens.each do |token|
    value = instance_variable_get("@#{token}".to_sym)
    raise ArgumentError, "#{token} not set" if value.nil? || value.to_s.strip == ''
  end
end