class Msngr::Receiver

Attributes

on_message_callbacks[R]

Array of Procs to invoke when a message is received.

@return [Array<Proc>]

on_unsubscribe_callbacks[R]

Array of Procs to invoke when unsubscribed from a Messenger.

@return [Array<Proc>]

pattern[R]

Event pattern to match.

@return [String]

Public Class Methods

new(pattern = /.+/) click to toggle source

Initializes a new Receiver.

@param [Regexp] pattern the pattern to listen for.

@return [Receiver]

# File lib/msngr/receiver.rb, line 29
def initialize(pattern = /.+/)
  @pattern = pattern
  @on_message_callbacks = []
  @on_unsubscribe_callbacks = []
  @mutex = Mutex.new
end

Public Instance Methods

on_message(&block) click to toggle source

Define a callback that invokes on each received message.

@param [Proc] block

@example

receiver.on_message do |message|
  puts "Message Received: #{message}"
end
# File lib/msngr/receiver.rb, line 45
def on_message(&block)
  @mutex.synchronize { @on_message_callbacks << block }
end
on_unsubscribe(&block) click to toggle source

Define a callback that invokes when unsubscribed from a Messenger.

@param [Proc] block

@example

receiver.on_unsubscribe do |messenger|
  puts "Unsubscribed From: #{messenger}"
end
# File lib/msngr/receiver.rb, line 58
def on_unsubscribe(&block)
  @mutex.synchronize { @on_unsubscribe_callbacks << block }
end