class Relevium::GlobalRegistration

Attributes

args[R]
condition[R]
function[R]
whisperer[R]

Public Class Methods

new(listener, message, options = {}, whisperer = nil) click to toggle source
Calls superclass method Relevium::BlockRegistration::new
# File lib/relevium/service.rb, line 84
def initialize(listener, message, options = {}, whisperer = nil)
  super(listener, message)
  @function = options[:function] || 'call'
  @condition = options[:if]
  @args = options[:args]
  @whisperer = whisperer
end

Public Instance Methods

broadcast(*args) click to toggle source
# File lib/relevium/service.rb, line 92
def broadcast(*args)
  listener_obj = listener.new(*args)
  listener_obj.instance_variable_set('@whisperer', whisperer)
  listener_obj.send(function)
end
validate!() click to toggle source
# File lib/relevium/service.rb, line 98
def validate!
  raise 'Invalid function name for listener' unless [String, Symbol].include?(function.class)
  raise 'Invalid condition for listener' unless condition.is_a?(Proc)
end