class SlackRTMReceiver::EventHandler

Create objects to handle events:

- subclass EventHandler, or
- just create an instance and pass a block

Attributes

type[R]

Public Class Methods

add_type(type, &block) click to toggle source

Create and register a handler object by passing a block @param type [String] event type

# 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
new(type = :message, &block) click to toggle source

Create a new handler instance @param type [String] event type

# File lib/slack-rtm-receiver/event-handler.rb, line 32
def initialize(type = :message, &block)
  @type = type
  @block = block if block_given?
end

Public Instance Methods

process_event(event, session) click to toggle source

Callback method; called by SlackRTMReceiver::Session when event is received @param [Hash] event data @param [Object] caller object

# 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