Sha256: a324c2a4307d5a2d88a8f542277e07070ecd03004cbbbfc03c509a9b8ba69d28

Contents?: true

Size: 1.04 KB

Versions: 9

Compression:

Stored size: 1.04 KB

Contents

# typed: true
# 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

9 entries across 9 versions & 1 rubygems

Version Path
eml-2.1.8 lib/eml/uk/models/transaction.rb
eml-2.1.7 lib/eml/uk/models/transaction.rb
eml-2.1.6 lib/eml/uk/models/transaction.rb
eml-2.1.5 lib/eml/uk/models/transaction.rb
eml-2.1.4 lib/eml/uk/models/transaction.rb
eml-2.1.3 lib/eml/uk/models/transaction.rb
eml-2.1.2 lib/eml/uk/models/transaction.rb
eml-2.1.1 lib/eml/uk/models/transaction.rb
eml-2.1.0 lib/eml/uk/models/transaction.rb