module ObservableRoles::Publisher
Public Class Methods
included(base)
click to toggle source
# File lib/observable_roles.rb, line 50 def self.included(base) attr_accessor :role end
Public Instance Methods
publish_event(event_name, data={}) { |s| ... }
click to toggle source
# File lib/observable_roles.rb, line 65 def publish_event(event_name, data={}) return unless @observing_subscribers @observing_subscribers.each do |s| if !block_given? || yield(s) s.capture_observable_event(role, event_name, data) end end end
subscribe(s)
click to toggle source
# File lib/observable_roles.rb, line 54 def subscribe(s) @observing_subscribers = [] unless @observing_subscribers @observing_subscribers << s end
unsubscribe(s)
click to toggle source
# File lib/observable_roles.rb, line 59 def unsubscribe(s) unless @observing_subscribers.nil? @observing_subscribers.delete(s) end end