Sha256: f59cf2e2c2503553e4f279968e34cbda66cc1abca1a6e193a25c0304bec54d6f

Contents?: true

Size: 1.11 KB

Versions: 11

Compression:

Stored size: 1.11 KB

Contents

# typed: true
# frozen_string_literal: true

module EML
  module UK
    class Payload
      module Card
        class Reload < ::EML::UK::Payload
          REQUIRED_CONFIG = %i[merchant_group].freeze
          REQUIRED_VALUES = %i[amount location.country].freeze

          private

          sig { params(amount: Numeric).returns(Numeric) }
          attr_accessor :amount

          # While client_time is sent to EML as a JSON DateTime, there are many
          # classes that could be used which causes a typing challenge. For
          # example, if Rails is in use, we will probably receive a
          # ActiveSupport::TimeWithZone
          sig { params(client_time: T.untyped).returns(T.untyped) }
          attr_accessor :client_time

          sig { params(location: Hash).void }
          def location=(location)
            @location = EML::UK::Payload::Location.new(location)
          end

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

          sig { params(note: String).returns(String) }
          attr_accessor :note
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
eml-2.1.8 lib/eml/uk/payload/card/reload.rb
eml-2.1.7 lib/eml/uk/payload/card/reload.rb
eml-2.1.6 lib/eml/uk/payload/card/reload.rb
eml-2.1.5 lib/eml/uk/payload/card/reload.rb
eml-2.1.4 lib/eml/uk/payload/card/reload.rb
eml-2.1.3 lib/eml/uk/payload/card/reload.rb
eml-2.1.2 lib/eml/uk/payload/card/reload.rb
eml-2.1.1 lib/eml/uk/payload/card/reload.rb
eml-2.1.0 lib/eml/uk/payload/card/reload.rb
eml-2.0.0 lib/eml/uk/payload/card/reload.rb
eml-1.0.0 lib/eml/uk/payload/card/reload.rb