Class: PayCertify::Gateway::Customer::Validation
- Inherits:
-
Base::Validation
- Object
- Base::Validation
- PayCertify::Gateway::Customer::Validation
- Defined in:
- lib/paycertify/gateway/customer.rb
Constant Summary collapse
- ALL_VALIDATIONS =
[ # Mandatory fields { name: :app_customer_id, validation: :no_validation, required: true }, { name: :type, validation: :type_validation, required: true }, { name: :name, validation: :no_validation, required: true }, # Optional fields { name: :zip, validation: :zip_validation, required: false }, { name: :email, validation: :email_validation, required: false }, { name: :status, validation: :status_validation, required: false } ]
- ALLOWED_TYPES =
%w(add update delete)
- ALLOWED_STATUSES =
%w(active inactive pending closed)
Constants inherited from Base::Validation
Base::Validation::CREDIT_CARD_REGEX, Base::Validation::EMAIL_REGEX
Instance Attribute Summary
Attributes inherited from Base::Validation
Instance Method Summary collapse
-
#initialize(attributes = {}) ⇒ Validation
constructor
A new instance of Validation.
- #type_validation(attribute) ⇒ Object
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.
43 44 45 46 47 48 49 50 |
# File 'lib/paycertify/gateway/customer.rb', line 43 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 |
Instance Method Details
#type_validation(attribute) ⇒ Object
52 53 54 55 56 |
# File 'lib/paycertify/gateway/customer.rb', line 52 def type_validation(attribute) unless value_for(attribute).try(:to_s).in?(ALLOWED_TYPES) add_error(attribute, "Must be one of #{ALLOWED_TYPES.join(', ')}") end end |