Sha256: 3e36a108e2c6d74db088ece39d718b58a1380f7f07ee5e6deaa24500648f2344

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

# typed: strict
# frozen_string_literal: true

module EML
  module UK
    module Models
      class Transaction < ::EML::Model
        extend T::Sig

        fields(%w[
          acceptor_code
          acceptor_location
          activity
          amount
          auth_id
          authorization_request_id
          currency
          eml_id
          expiration_minutes
          location
          merchant_category_code
          merchant_country
          notes
          original_transaction_date
          pos_transaction_time
          reason
          result
          retrieval_reference_number
          system_transaction_id
          timestamp
          transaction_amount
          transaction_currency
          user
        ])

        protected

        sig { params(field: String, raw_value: T.untyped).returns(T.untyped) }
        def field_value(field, raw_value)
          if field.match?(/date|time/)
            ::EML::UK::ParseDate.(raw_value)
          else
            raw_value
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eml-3.0.0 lib/eml/uk/models/transaction.rb
eml-2.2.0 lib/eml/uk/models/transaction.rb