module Reorm::EventSource
A module that is used to provide the methods the create events.
Public Class Methods
included(target)
click to toggle source
# File lib/reorm/modules/event_modules.rb, line 94 def EventSource.included(target) target.extend(EventSource) end
Public Instance Methods
fire_events(settings={})
click to toggle source
# File lib/reorm/modules/event_modules.rb, line 74 def fire_events(settings={}) events = settings[:events] if events && !events.empty? object = (settings[:target] ? settings[:target] : self) handlers = @@class_events[self.instance_of?(Class) ? self : self.class] if handlers && !handlers.empty? events.each do |event| if handlers.include?(event) handlers[event].each do |handler| if !object.respond_to?(handler, true) raise Error, "Unable to locate a method called '#{handler}' for an instance of the #{object.class.name} class." end object.__send__(handler) end end end end end end