Sha256: 8bed59f46ca20b37436f542449a72fff1792fef24ce157ff2ff4253ac1b6d640

Contents?: true

Size: 690 Bytes

Versions: 27

Compression:

Stored size: 690 Bytes

Contents

module Ddr
  module Models
    module EventLoggable
      extend ActiveSupport::Concern

      def events
        event_class.for_object(self)
      end

      def update_events
        event_class(:update).for_object(self)
      end

      # TESTME
      def notify_event(type, args={})
        Ddr::Notifications.notify_event(type, args.merge(pid: pid))
      end

      def has_events?
        events.count > 0
      end

      private 

      def event_class_name(token=nil)
        type = token ? "#{token.to_s.camelize}Event" : "Event"
        "Ddr::Events::#{type}"
      end

      def event_class(token=nil)
        event_class_name(token).constantize
      end

    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
ddr-models-1.13.2 lib/ddr/models/event_loggable.rb
ddr-models-1.13.1 lib/ddr/models/event_loggable.rb
ddr-models-1.13.0 lib/ddr/models/event_loggable.rb
ddr-models-1.11.8 lib/ddr/models/event_loggable.rb
ddr-models-1.12.3 lib/ddr/models/event_loggable.rb
ddr-models-1.11.7 lib/ddr/models/event_loggable.rb
ddr-models-1.12.2 lib/ddr/models/event_loggable.rb
ddr-models-1.11.6 lib/ddr/models/event_loggable.rb
ddr-models-1.12.1 lib/ddr/models/event_loggable.rb
ddr-models-1.11.5 lib/ddr/models/event_loggable.rb
ddr-models-1.12.0 lib/ddr/models/event_loggable.rb
ddr-models-1.11.4 lib/ddr/models/event_loggable.rb
ddr-models-1.11.3 lib/ddr/models/event_loggable.rb
ddr-models-1.11.2 lib/ddr/models/event_loggable.rb
ddr-models-1.11.1 lib/ddr/models/event_loggable.rb
ddr-models-1.11.0 lib/ddr/models/event_loggable.rb
ddr-models-1.10.0 lib/ddr/models/event_loggable.rb
ddr-models-1.9.0 lib/ddr/models/event_loggable.rb
ddr-models-1.8.1 lib/ddr/models/event_loggable.rb
ddr-models-1.8.0 lib/ddr/models/event_loggable.rb