Module: Eventful

Defined in:
lib/Eventful/VERSION.rb,
lib/Eventful.rb,
lib/Eventful/ClassMethods.rb,
lib/Eventful/Poro/ClassMethods.rb,
lib/Eventful/Poro/InstanceMethods.rb,
lib/Eventful/ActiveRecord/ClassMethods.rb

Overview

Eventful/ActiveRecord/ClassMethods.rb Eventful::ActiveRecord::ClassMethods

Defined Under Namespace

Modules: ActiveRecord, ClassMethods, Poro

Constant Summary collapse

VERSION =
'2.1.1'

Class Method Summary collapse

Class Method Details

.extended(klass) ⇒ Object Also known as: included



25
26
27
28
29
# File 'lib/Eventful.rb', line 25

def extended(klass)
  klass.extend(Stateful)
  klass.extend(Eventful::ClassMethods)
  load_persistence_class_methods(klass)
end

.load_persistence_class_methods(klass) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/Eventful.rb', line 14

def load_persistence_class_methods(klass)
  if Object.const_defined?(:ActiveRecord) && defined?(::ActiveRecord::Base) && klass < ::ActiveRecord::Base
    require_relative File.join('Eventful', 'ActiveRecord')
    klass.extend(Eventful::ActiveRecord::ClassMethods)
  else
    require_relative File.join('Eventful', 'Poro')
    klass.extend(Eventful::Poro::ClassMethods)
    klass.prepend(Eventful::Poro::InstanceMethods)
  end
end