class VertexClient::Payload::Base

Attributes

params[R]

Public Class Methods

new(params) click to toggle source
# File lib/vertex_client/payloads/base.rb, line 8
def initialize(params)
  @params = params.with_indifferent_access
  validate!
end

Public Instance Methods

transform() click to toggle source
# File lib/vertex_client/payloads/base.rb, line 13
def transform
  {
    request_key => body
  }
end

Private Instance Methods

remove_nils(hash) click to toggle source
# File lib/vertex_client/payloads/base.rb, line 39
def remove_nils(hash)
  hash.select {|_key, value| value.present? }
end
request_key() click to toggle source
# File lib/vertex_client/payloads/base.rb, line 21
def request_key
  :"#{self.class.name.demodulize.underscore}_request"
end
transform_customer(customer) click to toggle source
# File lib/vertex_client/payloads/base.rb, line 25
def transform_customer(customer)
  remove_nils({
    :@isTaxExempt =>  customer[:is_tax_exempt],
    destination: remove_nils({
      street_address_1: customer[:address_1],
      street_address_2: customer[:address_2],
      city:             customer[:city],
      main_division:    customer[:state],
      postal_code:      customer[:postal_code],
      country:          customer[:country]
    })
  })
end