class ExtendWarranties::Configuration

Constants

PRODUCTION
REST_URLS
SANDBOX

Attributes

access_token[R]
base_url[R]
env[R]
headers[R]
sandbox[R]
store_id[R]

Public Class Methods

new(args = {}) click to toggle source
# File lib/extend_warranties/configuration.rb, line 13
def initialize(args = {})
  validate_args(args)

  @env = args[:env].to_sym
  @sandbox = @env == SANDBOX
  @base_url = REST_URLS[env]
  @access_token = args[:access_token]
  @headers = args[:headers] || { 'Content-Type' => 'application/json', 'X-Extend-Access-Token' => @access_token }
  @store_id = args[:store_id]
end

Private Instance Methods

validate_args(args) click to toggle source
# File lib/extend_warranties/configuration.rb, line 26
def validate_args(args)
  raise ArgumentError, 'access token is required' if args[:access_token].blank?
  raise ArgumentError, 'store id is required' if args[:store_id].blank?
  raise ArgumentError, 'env is required' if args[:env].blank?

  return if [SANDBOX, PRODUCTION].include?(args[:env].to_sym)
  raise ArgumentError, 'env must be of :sandbox or :production'
end