Method: ActiveInteractor::Interactor::Callbacks::ClassMethods#before_context_validation

Defined in:
lib/active_interactor/interactor/callbacks.rb

#before_context_validation(*args, &block) ⇒ Object

Define a callback to call before validation has been run on an interactor instance's context instance.

Examples:

class MyInteractor < ActiveInteractor::Base
  before_context_validation :ensure_name_is_aaron
  context_validates :name, inclusion: { in: %w[Aaron] }

  private

  def ensure_name_is_aaron
    context.name = 'Aaron'
  end
end

result = MyInteractor.perform(name: 'Bob')
result.successful?
#=> true

result.name
#=> 'Aaron'

result = MyInteractor.perform({ name: 'Bob' }, { validate: false })
result.name
#=> 'Bob'

Since:

  • 0.1.0



191
192
193
194
# File 'lib/active_interactor/interactor/callbacks.rb', line 191

def before_context_validation(*args, &block)
  options = normalize_options(args.extract_options!.dup)
  set_callback(:validation, :before, *args, options, &block)
end