Module: ObservableRoles::Publisher
- Defined in:
- lib/observable_roles.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
50 51 52 |
# File 'lib/observable_roles.rb', line 50 def self.included(base) attr_accessor :role end |
Instance Method Details
#publish_event(event_name, data = {}) ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/observable_roles.rb', line 65 def publish_event(event_name, data={}) return unless @observing_subscriber @observing_subscriber.each do |s| if !block_given? || yield(s) s.capture_observable_event(role, event_name, data) end end end |
#subscribe(s) ⇒ Object
54 55 56 57 |
# File 'lib/observable_roles.rb', line 54 def subscribe(s) @observing_subscriber = [] unless @observing_subscriber @observing_subscriber << s end |
#unsubscribe(s) ⇒ Object
59 60 61 62 63 |
# File 'lib/observable_roles.rb', line 59 def unsubscribe(s) unless @observing_subscriber.blank? @observing_subscriber.delete(s) end end |