module Ddr::Models::EventLoggable

Public Instance Methods

events() click to toggle source
# File lib/ddr/models/event_loggable.rb, line 6
def events
  event_class.for_object(self)
end
has_events?() click to toggle source
# File lib/ddr/models/event_loggable.rb, line 19
def has_events?
  events.count > 0
end
notify_event(type, args={}) click to toggle source

TESTME

# File lib/ddr/models/event_loggable.rb, line 15
def notify_event(type, args={})
  Ddr::Notifications.notify_event(type, args.merge(pid: id))
end
update_events() click to toggle source
# File lib/ddr/models/event_loggable.rb, line 10
def update_events
  event_class(:update).for_object(self)
end

Private Instance Methods

event_class(token=nil) click to toggle source
# File lib/ddr/models/event_loggable.rb, line 30
def event_class(token=nil)
  event_class_name(token).constantize
end
event_class_name(token=nil) click to toggle source
# File lib/ddr/models/event_loggable.rb, line 25
def event_class_name(token=nil)
  type = token ? "#{token.to_s.camelize}Event" : "Event"
  "Ddr::Events::#{type}"
end