Sha256: c560f4309c4cf5d51051fb6e24581c95d5009f817aa11894c1419a3b6c71c2f9

Contents?: true

Size: 1.79 KB

Versions: 10

Compression:

Stored size: 1.79 KB

Contents

# typed: true
# frozen_string_literal: true

module EML
  module UK
    class Payload
      module Card
        class Register < ::EML::UK::Payload
          include ISO

          REQUIRED_VALUES =
            %i[first_name last_name address1 city country email].freeze

          private

          sig { params(first_name: String).void }
          def first_name=(first_name)
            validate_max_length(:first_name, first_name, 50)
            @first_name = first_name
          end

          sig { params(last_name: String).void }
          def last_name=(last_name)
            validate_max_length(:last_name, last_name, 50)
            @last_name = last_name
          end

          sig { params(address1: String).void }
          def address1=(address1)
            validate_max_length(:address1, address1, 255)
            @address1 = address1
          end

          sig { params(address2: String).void }
          def address2=(address2)
            validate_max_length(:address2, address2, 255)
            @address2 = address2
          end

          sig { params(city: String).void }
          def city=(city)
            validate_max_length(:city, city, 255)
            @city = city
          end

          sig { params(dob: String).void }
          def dob=(dob)
            validate_dob(dob)
            @dob = dob
          end

          sig { params(email: String).void }
          def email=(email)
            validate_max_length(:email, email, 255)
            @email = email
          end

          sig { params(phone: String).void }
          def phone=(phone)
            validate_max_length(:phone, phone, 20)
            @phone = phone
          end

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

Version data entries

10 entries across 10 versions & 1 rubygems

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