class Bambora::Bank::Builders::PaymentProfileParams

Builds a request body for the Bank Payment Profile endpoint from a Hash

Constants

CONTACT_PARAMS

Public Class Methods

build(params) click to toggle source

Converts a snake_case hash to camelCase keys with vendor-specific prefixes. See tests for examples.

@params params [Hash]

# File lib/bambora/bank/builders/payment_profile_params.rb, line 18
def build(params)
  params.each_with_object({}) do |(key, value), obj|
    obj[transform_key(key)] = value
  end
end

Private Class Methods

transform_key(key) click to toggle source
# File lib/bambora/bank/builders/payment_profile_params.rb, line 26
def transform_key(key)
  key = key.to_s
  key = "ord_#{key}" if CONTACT_PARAMS.include?(key)

  key.split('_').map.with_index do |word, index|
    word.capitalize! unless index.zero?
    word
  end.join
end