Module: RocketGate::Validatable
- Included in:
- Configuration, CreditCard, Customer, Transaction
- Defined in:
- lib/rocketgate/validatable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
18 19 20 |
# File 'lib/rocketgate/validatable.rb', line 18 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#invalid_attributes ⇒ Object
35 36 37 |
# File 'lib/rocketgate/validatable.rb', line 35 def invalid_attributes self.class.validatable_attributes.select {|v| !is_object_valid?(send(v)) } end |
#valid? ⇒ Boolean
22 23 24 |
# File 'lib/rocketgate/validatable.rb', line 22 def valid? self.class.validatable_attributes.all? {|v| is_object_valid?(send(v)) } end |
#validate! ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/rocketgate/validatable.rb', line 26 def validate! if valid? self else = "Invalid attributes: #{invalid_attributes.join(', ')}" raise RocketGate::ValidationError.new() unless valid? end end |