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