Module: Menilite::ActiveRecord

Defined in:
lib/menilite/server/activerecord_store.rb

Class Method Summary collapse

Class Method Details

.create_model(model_class) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/menilite/server/activerecord_store.rb', line 5

def self.create_model(model_class)
  klass = Class.new(::ActiveRecord::Base) do
    model_class.field_info.select{|name, field| field.type == :reference }.each do |name, field|
      belongs_to name, primary_key: 'guid', foreign_key: "#{name}_guid", class_name: name.to_s.capitalize
      #klass.instance_eval { define_method(name + '_id') { send(name + '_guid') } }
    end
  end
  self.const_set(model_class.to_s, klass)
end