Sha256: 33432d4f8dbc6c773eddda54db02a32239d0443b12063e0a1dac8e50d0ac2521

Contents?: true

Size: 841 Bytes

Versions: 3

Compression:

Stored size: 841 Bytes

Contents

# typed: true
# frozen_string_literal: true

module EML
  module UK
    class Payload
      module Card
        class Lock < ::EML::UK::Payload
          REQUIRED_CONFIG = %i[merchant_group].freeze
          REQUIRED_VALUES = %i[note reason].freeze

          private

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

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

          REASONS = %i[
            Damaged DataBreach Lost Miscellaneous OfficeError
            PastAccountExpirationDate Stolen UnclaimedProperty
          ].freeze

          sig { params(reason: Symbol).void }
          def reason=(reason)
            validate_enum(:reason, reason, REASONS)
            @reason = reason
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
eml-2.1.8 lib/eml/uk/payload/card/lock.rb
eml-2.1.7 lib/eml/uk/payload/card/lock.rb
eml-2.1.6 lib/eml/uk/payload/card/lock.rb