123456789_123456789_123456789_123456789_123456789_

Module: ActiveModel::Validations::Callbacks

Relationships & Source Files
Namespace Children
Modules:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: activemodel/lib/active_model/validations/callbacks.rb

Overview

Active Model Validation Callbacks

Provides an interface for any class to have ClassMethods#before_validation and ClassMethods#after_validation callbacks.

First, include Callbacks from the class you are creating:

class MyModel
  include ActiveModel::Validations::Callbacks

  before_validation :do_stuff_before_validation
  after_validation  :do_stuff_after_validation
end

Like other before_* callbacks if before_validation throws :abort then #valid? will not be called.

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

append_features, prepend_features

Instance Method Summary

DSL Calls

included

[ GitHub ]


25
26
27
28
29
30
# File 'activemodel/lib/active_model/validations/callbacks.rb', line 25

included do
  include ActiveSupport::Callbacks
  define_callbacks :validation,
                   skip_after_callbacks_if_terminated: true,
                   scope: [:kind, :name]
end

Instance Method Details

#run_validations! (private)

Override run_validations! to include callbacks.

[ GitHub ]

  
# File 'activemodel/lib/active_model/validations/callbacks.rb', line 114

def run_validations!
  _run_validation_callbacks { super }
end