Sha256: 6731ad9fe0e604d800ccaab7bc08166d0b7fd4f923f9d12047e8f1e76e860483
Contents?: true
Size: 987 Bytes
Versions: 1
Compression:
Stored size: 987 Bytes
Contents
module AASM::Persistence # Checks to see this class or any of it's superclasses inherit from # ActiveRecord::Base and if so includes ActiveRecordPersistence 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) elsif hierarchy.include?("Mongoid::Document") require File.join(File.dirname(__FILE__), 'persistence', 'mongoid_persistence') base.send(:include, AASM::Persistence::MongoidPersistence) elsif hierarchy.include?("MongoMapper::Document") require File.join(File.dirname(__FILE__), 'persistence', 'mongo_mapper_persistence') base.send(:include, AASM::Persistence::MongoMapperPersistence) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
r38y-aasm-2.1.5 | lib/aasm/persistence.rb |