Sha256: ce9c4188f0bca3a736cbaee9ce31c4fa127500627d65af17daa2a6098dd38d07

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

# typed: true
# frozen_string_literal: true

module EML
  module UK
    class Parameters
      module Card
        class Transaction < ::EML::UK::Parameters
          REQUIRED_CONFIG = %i[program].freeze
          OPTIONAL_CONFIG = %i[search_parameter].freeze

          private

          FIELDS_OPTIONS = %w[
            activity
            amount
            authorization_request_id
            currency
            location
            merchant_category_code
            merchant_country
            notes
            original_transaction_date
            pos_transaction_time
            reason
            result
            retrieval_reference_number
            system_transaction_id
            timestamp
            user
          ].freeze

          sig { params(fields: T::Array[String]).returns(String) }
          def fields=(fields)
            unless fields.first == "all"
              fields.each do |field|
                validate_array("fields", field, FIELDS_OPTIONS)
              end
            end

            @fields = fields.join(",")
          end

          sig { params(filter: String).returns(String) }
          attr_accessor :filter

          sig { params(program: String).returns(String) }
          attr_accessor :program

          sig { params(search_parameter: String).returns(String) }
          def search_parameter=(search_parameter)
            validate_search_parameter(search_parameter)
            @search_parameter = search_parameter
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
eml-2.1.4 lib/eml/uk/parameters/card/transaction.rb
eml-2.1.3 lib/eml/uk/parameters/card/transaction.rb
eml-2.1.2 lib/eml/uk/parameters/card/transaction.rb
eml-2.1.1 lib/eml/uk/parameters/card/transaction.rb
eml-2.1.0 lib/eml/uk/parameters/card/transaction.rb
eml-2.0.0 lib/eml/uk/parameters/card/transaction.rb
eml-1.0.0 lib/eml/uk/parameters/card/transaction.rb