Class: SlackRTMReceiver::EventHandler
- Inherits:
-
Object
- Object
- SlackRTMReceiver::EventHandler
- Defined in:
- lib/slack-rtm-receiver/event-handler.rb
Overview
Create objects to handle events:
- subclass EventHandler, or
- just create an instance and pass a block
Instance Attribute Summary collapse
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Class Method Summary collapse
-
.add_type(type, &block) ⇒ Object
Create and register a handler object by passing a block.
Instance Method Summary collapse
-
#initialize(type = :message, &block) ⇒ EventHandler
constructor
Create a new handler instance.
-
#process_event(event, session) ⇒ Object
Callback method; called by SlackRTMReceiver::Session when event is received.
Constructor Details
#initialize(type = :message, &block) ⇒ EventHandler
Create a new handler instance
32 33 34 35 |
# File 'lib/slack-rtm-receiver/event-handler.rb', line 32 def initialize(type = :message, &block) @type = type @block = block if block_given? end |
Instance Attribute Details
#type ⇒ Object (readonly)
Returns the value of attribute type.
28 29 30 |
# File 'lib/slack-rtm-receiver/event-handler.rb', line 28 def type @type end |
Class Method Details
.add_type(type, &block) ⇒ Object
Create and register a handler object by passing a block
23 24 25 26 |
# File 'lib/slack-rtm-receiver/event-handler.rb', line 23 def self.add_type(type, &block) handler = new(type, &block) SlackRTMReceiver.add_event_handler(handler) end |
Instance Method Details
#process_event(event, session) ⇒ Object
Callback method; called by SlackRTMReceiver::Session when event is received
40 41 42 43 44 |
# File 'lib/slack-rtm-receiver/event-handler.rb', line 40 def process_event(event, session) logger = session.logger logger.debug "#{self.class.name} running..." @block.call(event, session) if @block end |