class ExperianAddressValidation::Operation
Base class for API operations
Constants
- DEFAULT_HEADERS
Attributes
options[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/experian_address_validation/operation.rb, line 10 def initialize(options = {}) @options = options end
Public Instance Methods
execute()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 14 def execute http_client.headers["Auth-Token"] = auth_token response = http_client.run_request(http_method, endpoint, json_payload, headers) return json_response(response) if response.success? raise ExperianAddressValidation::Errors::ResponseError.new(body: response.body, status: response.status) end
http_method()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 24 def http_method :post end
Private Instance Methods
auth_token()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 56 def auth_token config.auth_token end
base_url()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 48 def base_url config.base_url end
config()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 60 def config Client.config end
default_iso_code()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 64 def default_iso_code config.iso_code end
endpoint()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 68 def endpoint; end
headers()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 52 def headers DEFAULT_HEADERS.merge(options.fetch(:headers, {})) end
http_client()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 32 def http_client @http_client ||= Faraday.new end
json_payload()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 40 def json_payload @json_payload ||= JSON.generate(payload) end
json_response(response)
click to toggle source
# File lib/experian_address_validation/operation.rb, line 36 def json_response(response) JSON.parse(response.body, symbolize_names: true) end
payload()
click to toggle source
# File lib/experian_address_validation/operation.rb, line 44 def payload options[:payload] end