Class: PayCertify::Gateway::Charge::Validation

Inherits:
Base::Validation show all
Defined in:
lib/paycertify/gateway/charge.rb

Constant Summary collapse

ALL_VALIDATIONS =
[
  { name: :credit_card_id, validation: :no_validation, required: true },
  { name: :amount, validation: :amount_validation, required: true },
  { name: :transaction_id, validation: :no_validation, required: true },
]

Constants inherited from Base::Validation

Base::Validation::CREDIT_CARD_REGEX, Base::Validation::EMAIL_REGEX

Instance Attribute Summary

Attributes inherited from Base::Validation

#attributes, #errors

Instance Method Summary collapse

Methods inherited from Base::Validation

#add_error, #amount_validation, #card_number_validation, #email_validation, #expiration_month_validation, #expiration_year_validation, #no_validation, #presence_validation, #set_attribute, #value_for, #zip_validation

Constructor Details

#initialize(attributes = {}) ⇒ Validation

Returns a new instance of Validation.



47
48
49
50
51
52
53
54
# File 'lib/paycertify/gateway/charge.rb', line 47

def initialize(attributes={})
  super(attributes)

  ALL_VALIDATIONS.each do |attribute|
    presence_validation(attribute) if attribute[:required]
    send(attribute[:validation], attribute) if value_for(attribute).present?
  end
end