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_attributesObject



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
    message = "Invalid attributes: #{invalid_attributes.join(', ')}"
    raise RocketGate::ValidationError.new(message) unless valid?
  end
end