class Bambora::Bank::Adapters::PaymentProfileResponse

Transforms hash keys from camelCase to snake_case and strips vendor-specific prefixes.

Attributes

response[R]

Public Class Methods

new(response) click to toggle source
# File lib/bambora/bank/adapters/payment_profile_response.rb, line 11
def initialize(response)
  @response = response
end

Public Instance Methods

to_h() click to toggle source
# File lib/bambora/bank/adapters/payment_profile_response.rb, line 15
def to_h
  parsed_query_string.each_with_object({}) do |(key, val), obj|
    obj[transform(key)] = val
  end
end

Private Instance Methods

parsed_query_string() click to toggle source
# File lib/bambora/bank/adapters/payment_profile_response.rb, line 23
def parsed_query_string
  Bambora::QueryStringResponse.new(response).to_h
end
transform(camel_case_word) click to toggle source
# File lib/bambora/bank/adapters/payment_profile_response.rb, line 27
def transform(camel_case_word)
  word = camel_case_word.to_s
  word.gsub!(/([a-z])([A-Z\d])/, '\1_\2')
  word.downcase!
  word.sub(/^ord_/, '').to_sym
end