module BestBoy::Eventable
Public Instance Methods
trigger_best_boy_event(type, source = nil)
click to toggle source
# File lib/best_boy/eventable.rb, line 29 def trigger_best_boy_event type, source = nil create_best_boy_event_with_type(type, source) end
trigger_best_boy_event_report(klass: self.class.to_s, type: '', source: nil, date: Time.zone.now)
click to toggle source
# File lib/best_boy/eventable.rb, line 33 def trigger_best_boy_event_report(klass: self.class.to_s, type: '', source: nil, date: Time.zone.now) BestBoy::MonthReport.current_or_create_for(klass, type, source, date).increment!(:occurrences) BestBoy::DayReport.current_or_create_for(klass, type, source, date).increment!(:occurrences) end
Private Instance Methods
create_best_boy_event_with_type(type, source = nil)
click to toggle source
# File lib/best_boy/eventable.rb, line 50 def create_best_boy_event_with_type(type, source = nil) raise "nil event is not allowed" if type.blank? best_boy_event = BestBoy::Event.new do |bbe| bbe.event = type bbe.event_source = source bbe.owner = self end best_boy_event.save trigger_best_boy_event_report(type: type, source: source) if source.present? trigger_best_boy_event_report(type: type, source: nil) end
trigger_best_boy_create_event()
click to toggle source
# File lib/best_boy/eventable.rb, line 40 def trigger_best_boy_create_event return if self.class.best_boy_disable_callbacks create_best_boy_event_with_type "create" end
trigger_best_boy_destroy_event()
click to toggle source
# File lib/best_boy/eventable.rb, line 45 def trigger_best_boy_destroy_event return if self.class.best_boy_disable_callbacks create_best_boy_event_with_type "destroy" end