Sha256: 14de0798c6043430367cd95de59f6767e8010212263c59bb08339f946bb1df44

Contents?: true

Size: 876 Bytes

Versions: 1

Compression:

Stored size: 876 Bytes

Contents

module Zuora
  module Models
    module PaymentMethods
      class CreditCard
        include ActiveModel::Model

        ATTRIBUTES = :card_type,
                     :card_number,
                     :expiration_month,
                     :expiration_year,
                     :security_code

        attr_accessor(*ATTRIBUTES)

        def attributes
          ATTRIBUTES
        end

        validates :card_type,
                  :card_number,
                  :expiration_month,
                  :expiration_year,
                  :security_code,
                  presence: true

        validates :card_type,
                  inclusion: { in: Zuora::CREDIT_CARD_TYPES }

        validates :expiration_month,
                  inclusion: { in: Zuora::MONTHS }

        validates :expiration_year,
                  length: { is: 4 }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zuora-ruby-0.1.0 lib/zuora/models/payment_methods/credit_card.rb