module ActiveInteraction::Extras::RunCallback
Public Instance Methods
after_failed_run(*args, &block)
click to toggle source
See after_run
# File lib/active_interaction/extras/run_callback.rb, line 47 def after_failed_run(*args, &block) opts = args.extract_options! opts[:if] = [:after_run_callback_enabled?] + Array(opts[:if]) opts[:unless] = [:valid?] + Array(opts[:unless]) set_callback :run, :after, *args, opts, &block end
after_run(*args, &block)
click to toggle source
Run callback is executed outside transaction if transaction is used. Make sure code in after_run
hook can't fail, so preferably only run async code here
# File lib/active_interaction/extras/run_callback.rb, line 30 def after_run(*args, &block) opts = args.extract_options! opts[:if] = [:after_run_callback_enabled?] + Array(opts[:if]) set_callback :run, :after, *args, opts, &block end
after_run_callback_enabled?()
click to toggle source
# File lib/active_interaction/extras/run_callback.rb, line 14 def after_run_callback_enabled? !@after_run_callback_disabled end
after_successful_run(*args, &block)
click to toggle source
See after_run
only runs when service has successfully finished and outcome is valid
# File lib/active_interaction/extras/run_callback.rb, line 39 def after_successful_run(*args, &block) opts = args.extract_options! opts[:if] = [:valid?, :after_run_callback_enabled?] + Array(opts[:if]) set_callback :run, :after, *args, opts, &block end
disable_after_run_callback()
click to toggle source
This is useful for testing
# File lib/active_interaction/extras/run_callback.rb, line 23 def disable_after_run_callback @after_run_callback_disabled = true end
enable_after_run_callback()
click to toggle source
# File lib/active_interaction/extras/run_callback.rb, line 18 def enable_after_run_callback @after_run_callback_disabled = false end
run()
click to toggle source
Calls superclass method
# File lib/active_interaction/extras/run_callback.rb, line 8 def run run_callbacks(:run) do super end end