module NinjaModel::Associations::ClassMethods
Public Instance Methods
add_autosave_association_callbacks(reflection)
click to toggle source
# File lib/ninja_model/associations.rb, line 48 def add_autosave_association_callbacks(reflection) end
belongs_to(name, options = {}, &extension)
click to toggle source
# File lib/ninja_model/associations.rb, line 59 def belongs_to(name, options = {}, &extension) klass = compute_klass(name, :belongs_to, options) if NinjaModel.ninja_model?(klass) Builder::BelongsTo.build(self, name, options) else ActiveRecord::Associations::Builder::BelongsTo.build(self, name, options) end end
has_many(name, options = {}, &extension)
click to toggle source
# File lib/ninja_model/associations.rb, line 68 def has_many(name, options = {}, &extension) klass = compute_klass(name, :has_many, options) if NinjaModel.ninja_model?(klass) Builder::HasMany.build(self, name, options) else ActiveRecord::Associations::Builder::HasMany.build(self, name, options) end end
has_one(name, options = {})
click to toggle source
# File lib/ninja_model/associations.rb, line 50 def has_one(name, options = {}) klass = compute_klass(name, :has_one, options) if NinjaModel.ninja_model?(klass) Builder::HasOne.build(self, name, options) else ActiveRecord::Associations::Builder::HasOne.build(self, name, options) end end
Private Instance Methods
compute_klass(name, macro, options)
click to toggle source
# File lib/ninja_model/associations.rb, line 79 def compute_klass(name, macro, options) klass = options[:class_name] || name klass = klass.to_s.camelize klass = klass.singularize if macro.eql?(:has_many) klass = compute_type(klass) end