Class: Module

Inherits:
Object
  • Object
show all
Defined in:
lib/module.rb

Instance Method Summary collapse

Instance Method Details

#const_missing(class_id) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/module.rb', line 4

def const_missing(class_id)    
  begin
    return normal_const_missing(class_id)
  rescue
  end
  @magic_schema ||= DrNicMagicModels::Schema.new self
  unless table_name = @magic_schema.models[class_id]
    raise NameError.new("uninitialized constant #{class_id}") if @magic_schema.models.enquired? class_id
  end
  superklass = @magic_schema.superklass || ActiveRecord::Base
  klass = create_class(class_id, superklass) do
    set_table_name table_name
    # include DrNicMagicModels::MagicModel
    # extend DrNicMagicModels::Validations
  end
  klass.generate_validations # need to call this AFTER the class name has been assigned
  @magic_schema.inflector.post_class_creation klass
  klass
end

#magic_module(options) ⇒ Object



24
25
26
# File 'lib/module.rb', line 24

def magic_module(options)
  self.instance_variable_set "@table_name_prefix", options[:table_name_prefix] if options[:table_name_prefix]
end

#normal_const_missingObject



2
# File 'lib/module.rb', line 2

alias :normal_const_missing :const_missing