Module: HasExtraData::Hook

Defined in:
lib/has_extra_data/hook.rb

Instance Method Summary collapse

Instance Method Details

#has_extra_data(&block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/has_extra_data/hook.rb', line 3

def has_extra_data(&block)

  table_name = "#{self.name.underscore.gsub("/", "_")}_data"
  klass = Class.new(ActiveRecord::Base) do
    set_table_name(table_name)
  end
  klass.class_eval &block if block_given?
  self.const_set "Data", klass

  has_one :data, :class_name => "#{self.name}::Data"
  before_create :build_data
end