Module: ActionLogic::ActionValidation

Defined in:
lib/action_logic/action_validation.rb,
lib/action_logic/action_validation/base_validation.rb,
lib/action_logic/action_validation/type_validation.rb,
lib/action_logic/action_validation/presence_validation.rb,
lib/action_logic/action_validation/attribute_validation.rb

Defined Under Namespace

Modules: ClassMethods Classes: AttributeValidation, BaseValidation, PresenceValidation, TypeValidation

Instance Method Summary collapse

Instance Method Details

#set_validation_rulesObject



52
53
54
55
56
# File 'lib/action_logic/action_validation.rb', line 52

def set_validation_rules
  @before_validation_rules ||= self.class.get_validates_before
  @after_validation_rules  ||= self.class.get_validates_after
  @around_validation_rules ||= self.class.get_validates_around
end

#validate!(validation, validation_rules) ⇒ Object



39
40
41
42
# File 'lib/action_logic/action_validation.rb', line 39

def validate!(validation, validation_rules)
  return if validation_rules.empty?
  validation.validate!(validation_rules, context)
end

#validationsObject



33
34
35
36
37
# File 'lib/action_logic/action_validation.rb', line 33

def validations
  [AttributeValidation,
   TypeValidation,
   PresenceValidation]
end

#validations!(validation_order) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/action_logic/action_validation.rb', line 44

def validations!(validation_order)
  case validation_order
  when :before then validations.each { |validation| validate!(validation, @before_validation_rules) }
  when :after  then validations.each { |validation| validate!(validation, @after_validation_rules) }
  when :around then validations.each { |validation| validate!(validation, @around_validation_rules) }
  end
end