Module: AASM::Persistence

Defined in:
lib/persistence.rb,
lib/persistence/active_record_persistence.rb

Defined Under Namespace

Modules: ActiveRecordPersistence

Class Method Summary collapse

Class Method Details

.set_persistence(base) ⇒ Object

Checks to see this class or any of it’s superclasses inherit from ActiveRecord::Base and if so includes ActiveRecordPersistence



6
7
8
9
10
11
12
13
14
# File 'lib/persistence.rb', line 6

def self.set_persistence(base)
  # Use a fancier auto-loading thingy, perhaps.  When there are more persistence engines.
  hierarchy = base.ancestors.map {|klass| klass.to_s}
  
  if hierarchy.include?("ActiveRecord::Base")
    require File.join(File.dirname(__FILE__), 'persistence', 'active_record_persistence')
    base.send(:include, AASM::Persistence::ActiveRecordPersistence)
  end
end