Class: Crabfarm::Live::ReducerRunner

Inherits:
NavigatorRunner show all
Defined in:
lib/crabfarm/live/reducer_runner.rb

Instance Method Summary collapse

Methods inherited from NavigatorRunner

#clear_params, #dsl, #execute, #memento, #navigate_to, #output, #use_memento, #use_params

Constructor Details

#initialize(_target) ⇒ ReducerRunner

Returns a new instance of ReducerRunner.



5
6
7
8
# File 'lib/crabfarm/live/reducer_runner.rb', line 5

def initialize(_target)
  # use navigator runner for now.
  super navigator_from_reducer _target
end

Instance Method Details



10
11
12
13
14
15
16
17
18
# File 'lib/crabfarm/live/reducer_runner.rb', line 10

def navigator_from_reducer _reducer
  m = _reducer.to_s.match(/^(.*?)Reducer$/)
  if m
    navigator = m[1].constantize rescue nil
    return navigator if navigator and navigator < BaseNavigator
  end

  raise Controller::LiveWarning.new "Could not find a matching navigator for reducer #{_reducer.to_s}"
end