class Logux::ActionCaller
Attributes
action[R]
meta[R]
Public Class Methods
new(action:, meta:)
click to toggle source
# File lib/logux/action_caller.rb, line 11 def initialize(action:, meta:) @action = action @meta = meta end
Public Instance Methods
call!()
click to toggle source
# File lib/logux/action_caller.rb, line 16 def call! Logux.watch_action { call_action } rescue Logux::UnknownActionError, Logux::UnknownChannelError => e logger.warn(e) format(nil) end
Protected Instance Methods
call_action()
click to toggle source
# File lib/logux/action_caller.rb, line 25 def call_action logger.debug("Searching Logux action: #{action}, meta: #{meta}") format(action_controller.public_send(action.action_type)) end
Private Instance Methods
action_controller()
click to toggle source
# File lib/logux/action_caller.rb, line 42 def action_controller class_finder.find_action_class.new(action: action, meta: meta) end
class_finder()
click to toggle source
# File lib/logux/action_caller.rb, line 38 def class_finder @class_finder ||= Logux::ClassFinder.new(action: action, meta: meta) end
format(response)
click to toggle source
# File lib/logux/action_caller.rb, line 32 def format(response) return response if response.is_a?(Logux::Response) Logux::Response.new(:processed, action: action, meta: meta) end