class AssertTriggering::DelayedJobObserver

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/assert_triggering.rb, line 5
def initialize

  self.flush

  ActiveSupport::Notifications.subscribe do |*args|
    event_name = args[0]
    payload    = args[4]
    @events[event_name] = {} if @events[event_name].nil?
    @events[event_name]['pointer'] = 0 if @events[event_name]['pointer'].nil?
    @events[event_name]['history'] = [] if @events[event_name]['history'].nil?
    @events[event_name]['history'].push ({event_name: event_name, payload: payload})
  end

  super

end

Public Instance Methods

assert_triggered(event_name) click to toggle source
# File lib/assert_triggering.rb, line 30
def assert_triggered(event_name)
  if @events[event_name].nil? || @events[event_name]['history'].count == @events[event_name]['pointer']
    false
  else
    @events[event_name]['pointer'] = @events[event_name]['history'].count
    true
  end
end
events() click to toggle source
# File lib/assert_triggering.rb, line 22
def events
  @events
end
flush() click to toggle source
# File lib/assert_triggering.rb, line 26
def flush
  @events = {}
end