Module: Urge::Persistence

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

Defined Under Namespace

Modules: ActiveRecordPersistence, Base

Class Method Summary collapse

Class Method Details

.set_persistence(base) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/urge/persistence.rb', line 4

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}

  dir_name = File.join( File.dirname(__FILE__), 'persistence' )
  require File.join( dir_name, 'base' )
  # require File.join(File.dirname(__FILE__), 'persistence', 'read_state')
  if hierarchy.include?( "ActiveRecord::Base" )
    require File.join( dir_name, 'active_record_persistence' )
    base.send( :include, Urge::Persistence::ActiveRecordPersistence )
  end
  
end