Class: GenesisRuby::Configuration
- Inherits:
-
Object
- Object
- GenesisRuby::Configuration
- Defined in:
- lib/genesis_ruby/configuration.rb
Overview
Class Configuration
Store/Retrieve configuration key/values across the Genesis library
Constant Summary collapse
- DEFAULT_TIMEOUT =
Default Network Timeout
60- NETWORK_INTERFACE_NET_HTTP =
Supported Network Connections
'net-http'- DEFAULT_FORMAT_RESPONSE =
Default Format Response
true- DEFAULT_SANITIZE_RESPONSE =
Default sanitize Response
true
Instance Attribute Summary collapse
-
#billing_api_token ⇒ Object
Defines the Bearer token used for authorization in Billing API Service.
-
#format_response ⇒ Object
Indicates if the parsed Response from Genesis should be formatted.
-
#interface ⇒ Object
Network Interface used for executing requests.
-
#password ⇒ Object
Genesis Password.
-
#sanitize_response ⇒ Object
Indicates if the parsed Response from Genesis should be sanitized.
-
#token ⇒ Object
Genesis Token required from some of the requests.
-
#username ⇒ Object
Genesis Username.
Instance Method Summary collapse
-
#endpoint ⇒ Object
Genesis endpoint.
-
#endpoint=(endpoint) ⇒ Object
Endpoint setter.
-
#environment ⇒ Object
Genesis Environment.
-
#environment=(environment) ⇒ Object
Environment setter.
-
#force_smart_routing ⇒ Object
Enable Smart Routing for Financial transaction requests.
-
#force_smart_routing=(value) ⇒ Object
Enable Smart Routing for Financial transaction requests.
-
#initialize ⇒ Configuration
constructor
Configuration constructor.
-
#sub_domain(sub) ⇒ Object
Get a sub-domain host based on the environment.
-
#timeout ⇒ Object
Genesis Request Timeout.
-
#timeout=(value) ⇒ Object
Genesis Request Timeout.
Constructor Details
#initialize ⇒ Configuration
Configuration constructor
29 30 31 32 |
# File 'lib/genesis_ruby/configuration.rb', line 29 def initialize @environment = GenesisRuby::Api::Constants::Environments::STAGING @sub_domains = available_sub_domains end |
Instance Attribute Details
#billing_api_token ⇒ Object
Defines the Bearer token used for authorization in Billing API Service
70 71 72 |
# File 'lib/genesis_ruby/configuration.rb', line 70 def billing_api_token @billing_api_token || '' end |
#format_response ⇒ Object
Indicates if the parsed Response from Genesis should be formatted
122 123 124 125 126 |
# File 'lib/genesis_ruby/configuration.rb', line 122 def format_response return @format_response = DEFAULT_FORMAT_RESPONSE if @format_response.nil? @format_response end |
#interface ⇒ Object
Network Interface used for executing requests
82 83 84 |
# File 'lib/genesis_ruby/configuration.rb', line 82 def interface @interface ||= NETWORK_INTERFACE_NET_HTTP end |
#password ⇒ Object
Genesis Password
40 41 42 |
# File 'lib/genesis_ruby/configuration.rb', line 40 def password @password ||= '' end |
#sanitize_response ⇒ Object
Indicates if the parsed Response from Genesis should be sanitized
129 130 131 132 133 |
# File 'lib/genesis_ruby/configuration.rb', line 129 def sanitize_response return @sanitize_response = DEFAULT_SANITIZE_RESPONSE if @sanitize_response.nil? @sanitize_response end |
#token ⇒ Object
Genesis Token required from some of the requests
45 46 47 |
# File 'lib/genesis_ruby/configuration.rb', line 45 def token @token ||= '' end |
#username ⇒ Object
Genesis Username
35 36 37 |
# File 'lib/genesis_ruby/configuration.rb', line 35 def username @username ||= '' end |
Instance Method Details
#endpoint ⇒ Object
Genesis endpoint
55 56 57 |
# File 'lib/genesis_ruby/configuration.rb', line 55 def endpoint @endpoint ||= '' end |
#endpoint=(endpoint) ⇒ Object
Endpoint setter
108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/genesis_ruby/configuration.rb', line 108 def endpoint=(endpoint) endpoint_argument = endpoint.downcase parsed_endpoint = nil endpoint_aliases.each do |available_end, endpoint_alias| parsed_endpoint = available_end if endpoint_alias.include? endpoint_argument end raise InvalidArgumentError, 'Invalid Endpoint' if parsed_endpoint.nil? @endpoint = parsed_endpoint end |
#environment ⇒ Object
Genesis Environment
50 51 52 |
# File 'lib/genesis_ruby/configuration.rb', line 50 def environment @environment ||= '' end |
#environment=(environment) ⇒ Object
Environment setter
94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/genesis_ruby/configuration.rb', line 94 def environment=(environment) environment_argument = environment.downcase parsed_env = nil environment_aliases.each do |available_env, env_alias| parsed_env = available_env if env_alias.include? environment_argument end raise InvalidArgumentError, 'Invalid Environment' if parsed_env.nil? @environment = parsed_env end |
#force_smart_routing ⇒ Object
Enable Smart Routing for Financial transaction requests
65 66 67 |
# File 'lib/genesis_ruby/configuration.rb', line 65 def force_smart_routing @force_smart_routing ||= false end |
#force_smart_routing=(value) ⇒ Object
Enable Smart Routing for Financial transaction requests
136 137 138 139 140 141 142 |
# File 'lib/genesis_ruby/configuration.rb', line 136 def force_smart_routing=(value) unless [true, false].include? value raise InvalidArgumentError, 'Given invalid Force Smart Routing value! Allowed: true, false' end @force_smart_routing = value end |
#sub_domain(sub) ⇒ Object
Get a sub-domain host based on the environment
87 88 89 90 91 |
# File 'lib/genesis_ruby/configuration.rb', line 87 def sub_domain(sub) return @sub_domains[sub.to_sym][@environment] if @sub_domains.key?(sub.to_sym) nil end |
#timeout ⇒ Object
Genesis Request Timeout
60 61 62 |
# File 'lib/genesis_ruby/configuration.rb', line 60 def timeout @timeout ||= DEFAULT_TIMEOUT end |
#timeout=(value) ⇒ Object
Genesis Request Timeout
75 76 77 78 79 |
# File 'lib/genesis_ruby/configuration.rb', line 75 def timeout=(value) timeout = value.to_i @timeout = timeout <= 0 ? DEFAULT_TIMEOUT : timeout end |