module Signals::Subscriber::InstanceMethods
Public Instance Methods
actions_for(event)
click to toggle source
Get actions for a specific event @param [Symbol] event @return [Array]
# File lib/signals/subscriber.rb, line 113 def actions_for(event) self.events[event] || Array.new end
call(event, *args)
click to toggle source
@param [Symbol] event @return [void]
# File lib/signals/subscriber.rb, line 66 def call(event, *args) if event_enabled?(event) actions_for(event).each do |action| self.send(action, *args) if self.respond_to?(action) end end args.one? ? args.first : args end
disable_event(event)
click to toggle source
Disables an event temporarily @param [Symbol] event
# File lib/signals/subscriber.rb, line 77 def disable_event(event) disabled_events.add(event) self end
disabled_events()
click to toggle source
The set of disabled events @return [Set] a set of disabled events
# File lib/signals/subscriber.rb, line 119 def disabled_events @disabled_events ||= Set.new end
enable_event(event)
click to toggle source
Enables an event that was disabled @param [Symbol] event
# File lib/signals/subscriber.rb, line 84 def enable_event(event) disabled_events.delete(event) self end
event?(event)
click to toggle source
Checks to see if the event is present @param [Symbol] event @return [Boolean]
# File lib/signals/subscriber.rb, line 106 def event?(event) events.include?(event) end
event_disabled?(event)
click to toggle source
Checks to see if the event is disabled @param [Symbol] event @return [Boolean]
# File lib/signals/subscriber.rb, line 92 def event_disabled?(event) disabled_events.include?(event) end
event_enabled?(event)
click to toggle source
Checks to see if the event is enabled @param [Symbol] event @return [Boolean]
# File lib/signals/subscriber.rb, line 99 def event_enabled?(event) !event_disabled?(event) end
events()
click to toggle source
The hash of events that the subscriber is listening for @return [Hash]
# File lib/signals/subscriber.rb, line 125 def events self.class.events.freeze end