Module: SchemaMonkey::ActiveRecord

Defined in:
lib/schema_monkey/active_record.rb

Defined Under Namespace

Modules: ConnectionAdapters

Class Method Summary collapse

Class Method Details

.insert(relative_path, mod) ⇒ Object

Raises:



18
19
20
21
22
23
24
# File 'lib/schema_monkey/active_record.rb', line 18

def self.insert(relative_path, mod)
  class_methods = relative_path.sub!(/::ClassMethods$/, '')
  base = Module.const_lookup(::ActiveRecord, relative_path)
  raise InsertionError, "No module ActiveRecord::#{relative_path} to insert #{mod}" unless base
  Module.insert (class_methods ? base.singleton_class : base), mod
  mod.extended base if class_methods and mod.respond_to? :extended
end