class TokenOfFire::Scope
Public Class Methods
new(event_bus, filter={})
click to toggle source
# File lib/token_of_fire/scope.rb, line 3 def initialize(event_bus, filter={}) @event_bus = event_bus raise RuntimeError, "Provide hash please" unless filter.is_a? Hash @filter = filter @subscriptions = [] end
Public Instance Methods
attach(event_name, handler, method_name)
click to toggle source
# File lib/token_of_fire/scope.rb, line 16 def attach(event_name, handler, method_name) @subscriptions.push({ :event_name => event_name, :handler => handler, :method_name => method_name }) @subscriptions end
attach_subscriptions(list)
click to toggle source
# File lib/token_of_fire/scope.rb, line 10 def attach_subscriptions(list) list.each do |t| attach(t[0], t[1], t[2]) end end
filter()
click to toggle source
# File lib/token_of_fire/scope.rb, line 46 def filter @filter end
scope(filter={})
click to toggle source
# File lib/token_of_fire/scope.rb, line 25 def scope(filter={}) TokenOfFire::Scope.new(@event_bus, @filter.merge(filter)) end
subscriptions()
click to toggle source
# File lib/token_of_fire/scope.rb, line 29 def subscriptions @subscriptions end
token()
click to toggle source
def dettach(:name_of_event) @scope_a.dettach(:name_of_event)
# File lib/token_of_fire/scope.rb, line 37 def token TokenOfFire::Token.new(@event_bus, self) # starts with all subscriptions previously attached to a scope end
unique_token()
click to toggle source
# File lib/token_of_fire/scope.rb, line 42 def unique_token TokenOfFire::Token.new(@event_bus, self, true) end