Class: BraintreeRails::Validator
- Inherits:
-
ActiveModel::Validator
- Object
- ActiveModel::Validator
- BraintreeRails::Validator
show all
- Defined in:
- lib/braintree_rails/validator.rb
Direct Known Subclasses
AddressDetailsValidator, AddressValidator, BusinessDetailsValidator, CreditCardValidator, CustomerValidator, FundingDetailsValidator, IndividualDetailsValidator, MerchantAccountValidator, ModificationValidator, PlanValidator, SubscriptionValidator, TransactionValidator
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Validator.
30
31
32
|
# File 'lib/braintree_rails/validator.rb', line 30
def initialize(*)
self.class.setup
end
|
Class Method Details
.collect_validations(&block) ⇒ Object
22
23
24
|
# File 'lib/braintree_rails/validator.rb', line 22
def self.collect_validations(&block)
block.present? ? block.call(default_validations) : default_validations
end
|
.default_validations ⇒ Object
18
19
20
|
# File 'lib/braintree_rails/validator.rb', line 18
def self.default_validations
self::Validations.deep_dup
end
|
.model_class ⇒ Object
26
27
28
|
# File 'lib/braintree_rails/validator.rb', line 26
def self.model_class
name.chomp('Validator').constantize
end
|
.reset_validations ⇒ Object
8
9
10
|
# File 'lib/braintree_rails/validator.rb', line 8
def self.reset_validations
model_class.reset_callbacks(:validate)
end
|
.set_validations(validations) ⇒ Object
12
13
14
15
16
|
# File 'lib/braintree_rails/validator.rb', line 12
def self.set_validations(validations)
validations.each do |validation|
model_class.validates(*validation)
end
end
|
.setup(&block) ⇒ Object
3
4
5
6
|
# File 'lib/braintree_rails/validator.rb', line 3
def self.setup(&block)
reset_validations
set_validations(collect_validations(&block))
end
|
Instance Method Details
#validate(record) ⇒ Object
34
35
|
# File 'lib/braintree_rails/validator.rb', line 34
def validate(record)
end
|
#validate_association(record, name) ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/braintree_rails/validator.rb', line 37
def validate_association(record, name)
record.instance_eval do
association = record.send(name)
return unless association.present?
if association.invalid?
errors.add(name, "is invalid")
association.errors.full_messages.each do |message|
errors.add(:base, message)
end
end
end
end
|