Class: ActionBot::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/action_bot/base.rb

Instance Method Summary collapse

Instance Method Details

#action(**kwargs) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/action_bot/base.rb', line 17

def action(**kwargs)
  params = kwargs.delete(:params) || {}
  controller, action = kwargs.first
  controller_object = "#{controller.to_s.camelize}Controller".constantize.new
  raise "No such method: #{action} for #{controller}" unless controller_object.respond_to?(action)
  controller_object.params = ActionController::Parameters.new params
  controller_object.public_send(action)
end

#bot_runnerObject



26
27
28
# File 'lib/action_bot/base.rb', line 26

def bot_runner
  ActionBot::Runner
end

#on(condition, **kwargs) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/action_bot/base.rb', line 5

def on(condition, **kwargs)
  return unless condition

  params = kwargs.delete(:params) || {}
  controller, action = kwargs.first
  controller_object = "#{controller.to_s.camelize}Controller".constantize.new
  raise "No such method: #{action} for #{controller}" unless controller_object.respond_to?(action)
  controller_object.params = ActionController::Parameters.new params
  controller_object.public_send(action)
  throw(:done)
end