Class: Waffle::Event

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/waffle/event.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.occured(*args) ⇒ Object

Syntactic sugar ^_^



9
10
11
# File 'lib/waffle/event.rb', line 9

def occured(*args)
  self.instance.occured(*args)
end

.occurredObject

Syntactic sugar ^_^



12
13
14
# File 'lib/waffle/event.rb', line 12

def occured(*args)
  self.instance.occured(*args)
end

Instance Method Details

#encoderObject



19
20
21
# File 'lib/waffle/event.rb', line 19

def encoder
  @encoder ||= eval("Waffle::Encoders::#{Waffle::Config.encoder.capitalize}")
end

#occured(event_name = 'event', event_data = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/waffle/event.rb', line 23

def occured(event_name = 'event', event_data = nil)
  unless event_data.is_a? Hash
    event_data = {'body' => event_data.to_s}
  end

  event_data.merge!({'occured_at' => Time.now})

  transport.publish event_name, encoder.encode(event_data)
end

#transportObject



15
16
17
# File 'lib/waffle/event.rb', line 15

def transport
  @transport ||= Waffle::Base.new eval("Waffle::Transports::#{Waffle::Config.transport.capitalize}").new
end