Class: Pug::MessageHandler
- Inherits:
-
Object
- Object
- Pug::MessageHandler
- Defined in:
- lib/pug/message_handler.rb
Overview
Coordinates between messages provided from Bot to actions via the Controller
Class Method Summary collapse
-
.default(actions) ⇒ MessageHandler
A convenice initializer for provided actions.
Instance Method Summary collapse
-
#handle(message) ⇒ Types::Result
Parses and coordinates the given message with the Controller.
-
#initialize(controller, parser, keyword_handler) ⇒ MessageHandler
constructor
A new instance of MessageHandler.
Constructor Details
#initialize(controller, parser, keyword_handler) ⇒ MessageHandler
Returns a new instance of MessageHandler.
19 20 21 22 23 |
# File 'lib/pug/message_handler.rb', line 19 def initialize(controller, parser, keyword_handler) @controller = controller @parser = parser @keyword_handler = keyword_handler end |
Class Method Details
.default(actions) ⇒ MessageHandler
A convenice initializer for provided actions
10 11 12 13 14 |
# File 'lib/pug/message_handler.rb', line 10 def self.default(actions) controller = Action::Controller.new(actions) keyword_handler = KeywordHandler.new(actions) MessageHandler.new(controller, NumberParser.new, keyword_handler) end |
Instance Method Details
#handle(message) ⇒ Types::Result
Parses and coordinates the given message with the Controller
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/pug/message_handler.rb', line 28 def handle() return Results.missing_actions unless @controller.actions? return Results.unknown_input if .to_s.empty? if @controller.running_action? run_action_with_inputs() elsif @keyword_handler.keyword?() handle_keyword() else () end end |