Sha256: e869c25736257408dd99c836893623267f02f02f7f7efabf2198e704a18fed8f
Contents?: true
Size: 969 Bytes
Versions: 3
Compression:
Stored size: 969 Bytes
Contents
module Avatax class Configuration attr_reader :sandbox, :base_url, :env, :username, :password, :headers REST_URLS = { sandbox: 'https://sandbox-rest.avatax.com', production: 'https://rest.avatax.com' } SANDBOX = :sandbox PRODUCTION = :production def initialize(args = {}) validate_args(args) @env = args[:env].to_sym @sandbox = @env == SANDBOX @base_url = REST_URLS[env] @headers = args[:headers] || {} @username = args[:username] @password = args[:password] end private def validate_args(args) raise ArgumentError, 'username is required' if args[:username].blank? raise ArgumentError, 'password is required' if args[:password].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 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
avatax-ruby-0.0.4 | lib/avatax/configuration.rb |
avatax-ruby-0.0.3 | lib/avatax/configuration.rb |
avatax-ruby-0.0.2 | lib/avatax/configuration.rb |