Class: TokenOfFire::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/token_of_fire/token.rb

Instance Method Summary collapse

Constructor Details

#initialize(event_bus, scope, unique = false) ⇒ Token



3
4
5
6
7
8
9
# File 'lib/token_of_fire/token.rb', line 3

def initialize(event_bus, scope, unique=false)
  @event_bus = event_bus
  @scope = scope
  @uuid = SecureRandom.uuid
  @unique = unique
  subscribe_to_all
end

Instance Method Details

#filterObject



11
12
13
14
15
# File 'lib/token_of_fire/token.rb', line 11

def filter
  filter = @scope.filter.dup
  filter.merge!(:uuid => @uuid) if @unique
  filter
end

#fire(event_name, payload) ⇒ Object



17
18
19
# File 'lib/token_of_fire/token.rb', line 17

def fire(event_name, payload)
  @event_bus.fire(event_name, filter, payload)
end

#fire_syncObject



21
22
23
# File 'lib/token_of_fire/token.rb', line 21

def fire_sync
  @event_bus.fire_sync(event_name, filter, payload)
end

#releaseObject



25
26
27
28
29
# File 'lib/token_of_fire/token.rb', line 25

def release
  @subscription_uuids.each do |uuid|
    @event_bus.unsubscribe(uuid)
  end
end