module Ni::Main
Public Class Methods
new()
click to toggle source
# File lib/ni/main.rb, line 37 def initialize self.class.define_actions! if need_to_define_actions? end
Public Instance Methods
after_action(action_name)
click to toggle source
# File lib/ni/main.rb, line 86 def after_action(action_name) # Can be defined in ancestors end
before_action(action_name)
click to toggle source
# File lib/ni/main.rb, line 82 def before_action(action_name) # Can be defined in ancestors end
failure?()
click to toggle source
# File lib/ni/main.rb, line 33 def failure? !success? end
handle_exceptions(action_exceptions) { || ... }
click to toggle source
# File lib/ni/main.rb, line 63 def handle_exceptions(action_exceptions) yield nil rescue Exception => ex _, rescue_callback = action_exceptions.find { |(rescue_list, _)| rescue_list.include?(ex.class) } rescue_callback ||= begin callbacks_array = action_exceptions.find do |(rescue_list, _)| rescue_list.any? { |exception_class| ex.class <= exception_class } end callbacks_array&.last end raise ex unless rescue_callback.present? [rescue_callback, ex] end
need_to_define_actions?()
click to toggle source
# File lib/ni/main.rb, line 41 def need_to_define_actions? self.class.defined_actions.present? && self.class.defined_actions.keys.map(&:first).any? { |name| !respond_to?(name) } end
on_cancel(action_name)
click to toggle source
# File lib/ni/main.rb, line 94 def on_cancel(action_name) # Can be defined in ancestors end
on_checking_continue_signal(unit)
click to toggle source
# File lib/ni/main.rb, line 110 def on_checking_continue_signal(unit) # Can be defined in ancestors end
on_context_restored(action_name)
click to toggle source
# File lib/ni/main.rb, line 106 def on_context_restored(action_name) # Can be defined in ancestors end
on_continue_signal_checked(unit, wait_cheking_result)
click to toggle source
# File lib/ni/main.rb, line 114 def on_continue_signal_checked(unit, wait_cheking_result) # Can be defined in ancestors end
on_failure(action_name)
click to toggle source
# File lib/ni/main.rb, line 102 def on_failure(action_name) # Can be defined in ancestors end
on_success(action_name)
click to toggle source
# File lib/ni/main.rb, line 90 def on_success(action_name) # Can be defined in ancestors end
on_terminate(action_name)
click to toggle source
# File lib/ni/main.rb, line 98 def on_terminate(action_name) # Can be defined in ancestors end
returned_values(name)
click to toggle source
# File lib/ni/main.rb, line 46 def returned_values(name) keys = self.class.action_by_name(name)&.returned_values.presence || self.select_contracts_for_action(self.class.provide_contracts, name)&.keys Array(keys).map { |key| context.raw_get(key) } end
safe_context(action) { || ... }
click to toggle source
# File lib/ni/main.rb, line 53 def safe_context(action) context.within_interactor self, action do ensure_received_params(action) result = yield ensure_provided_params(action) result end end