Sha256: 5a2b7b3326b83418483d473218b6675d06128f5d0c0c76f4e87c33ff9b73f1da

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

require "#{ShoppingCart::Engine.root}/lib/validators/shopping_cart/expiration_validator.rb"

module ShoppingCart
  class CreditCardForm < Rectify::Form
    include ActiveModel::Validations

    attribute :first_name, String
    attribute :last_name,  String
    attribute :number,     String
    attribute :cvv,       Integer
    attribute :year,      Integer
    attribute :month,     Integer

    validates :number,
              presence: true,
              credit_card_number: true

    validates :cvv,
              presence: true,
              numericality: { only_integer: true },
              length: { is: 3 }

    validates :first_name, :last_name,
              presence: true

    validates :year,
              presence: true,
              numericality: { only_integer: true }

    validates :month,
              presence: true,
              numericality: {
                  only_integer: true,
                  greater_than_or_equal_to: 1,
                  less_than_or_equal_to: 12
              }

    validates_with ShoppingCart::ExpirationValidator
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
shopping-cart-0.1.2 app/forms/shopping_cart/credit_card_form.rb
shopping-cart-0.1.1 app/forms/shopping_cart/credit_card_form.rb
shopping-cart-0.1.0 app/forms/shopping_cart/credit_card_form.rb