Module: Minfraud::Resolver

Included in:
Assessments
Defined in:
lib/minfraud/resolver.rb

Constant Summary collapse

MAPPING =

Mapping between components & minFraud request keys

{
  account:            ::Minfraud::Components::Account,
  billing:            ::Minfraud::Components::Billing,
  credit_card:        ::Minfraud::Components::CreditCard,
  device:             ::Minfraud::Components::Device,
  email:              ::Minfraud::Components::Email,
  event:              ::Minfraud::Components::Event,
  order:              ::Minfraud::Components::Order,
  payment:            ::Minfraud::Components::Payment,
  shipping:           ::Minfraud::Components::Shipping,
  shopping_cart:      ::Minfraud::Components::ShoppingCart
}

Class Method Summary collapse

Class Method Details

.assign(context:, params:) ⇒ Array

Note: Raises RequestFormatError once unpermitted key is met

Parameters:

  • context (Object)

    an object for variable assignment

  • params (Hash)

    a hash of parameters

Returns:

  • (Array)

    a list of supplied params



8
9
10
11
12
13
14
15
# File 'lib/minfraud/resolver.rb', line 8

def assign(context:, params:)
  Array(params).each do |key, value|
    raise RequestFormatError, "#{key} does not belong to request document format" unless MAPPING[key]

    entity = MAPPING[key].new(value) unless value.is_a?(MAPPING[key])
    context.send("#{key}=", entity || value)
  end
end