Module: Trax::Model::ExtensionsFor::Base::ClassMethods

Defined in:
lib/trax/model/extensions_for/base.rb

Instance Method Summary collapse

Instance Method Details

#field_nameObject



8
9
10
# File 'lib/trax/model/extensions_for/base.rb', line 8

def field_name
  name.demodulize.underscore
end

#model_classObject



12
13
14
15
16
# File 'lib/trax/model/extensions_for/base.rb', line 12

def model_class
  @model_class ||= begin
    model_class_for_property(self)
  end
end

#model_class_for_property(property_klass) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/trax/model/extensions_for/base.rb', line 18

def model_class_for_property(property_klass)
  result = if property_klass.parent_definition.ancestors.include?(::ActiveRecord::Base)
    property_klass.parent_definition
  else
    model_class_for_property(property_klass.parent_definition)
  end

  result
end