module Eventifier::EventTracking
Public Class Methods
url_mappings()
click to toggle source
# File lib/eventifier/event_tracking.rb, line 35 def self.url_mappings @url_mapppings ||= {} end
Public Instance Methods
events_for(klass, *args, &block)
click to toggle source
# File lib/eventifier/event_tracking.rb, line 3 def events_for(klass, *args, &block) @klasses = klass.kind_of?(Array) ? klass : [klass] options = args[0] || { } methods = options.delete(:track_on) attributes = options.delete(:attributes) if block.nil? track_on methods, :attributes => attributes else instance_eval(&block) end @klasses.each { |klass| Eventifier.tracked_classes << klass } Eventifier.tracked_classes.uniq! end
notify(*args)
click to toggle source
# File lib/eventifier/event_tracking.rb, line 25 def notify(*args) Eventifier::Notifier.new @klasses, *args end
track_on(methods, options = {})
click to toggle source
# File lib/eventifier/event_tracking.rb, line 21 def track_on(methods, options = {}) Eventifier::Tracker.new @klasses, methods, options end
url(url_proc)
click to toggle source
# File lib/eventifier/event_tracking.rb, line 29 def url(url_proc) @klasses.each do |target_klass| Eventifier::EventTracking.url_mappings[target_klass.name.underscore.to_sym] = url_proc end end