lib/mongomodel/concerns/associations.rb in mongomodel-0.5.5 vs lib/mongomodel/concerns/associations.rb in mongomodel-0.5.6

- old
+ new

@@ -1,38 +1,38 @@ module MongoModel module Associations extend ActiveSupport::Concern - + def associations @_associations ||= self.class.associations.inject({}) do |result, (name, association)| result[name] = association.for(self) result end end - + module ClassMethods def associations @_associations ||= {} end - + def associations=(associations) @_associations = associations end - + def belongs_to(name, options={}) associations[name] = create_association(BelongsTo, name, options) end - + def has_many(name, options={}) associations[name] = create_association(has_many_type(options), name, options) end - + def inherited(subclass) super subclass.associations = associations.dup end - + private def has_many_type(options) case options[:by] when :ids HasManyByIds @@ -40,10 +40,10 @@ HasManyByForeignKey else ancestors.include?(Document) ? HasManyByForeignKey : HasManyByIds end end - + def create_association(type, name, options={}) type.new(self, name, options).define! end end end