Sha256: de4d14293353cebc23edfd343bb6d1855eef883c026f16a7fbb3838af135a8d2
Contents?: true
Size: 1003 Bytes
Versions: 3
Compression:
Stored size: 1003 Bytes
Contents
module MongoMapper module Associations class Base attr_reader :type, :name, :options def initialize(type, name, options = {}) @options = options @type = type @name = name end def klass class_name.constantize end def class_name @class_name ||= begin if cn = options[:class_name] cn elsif @type == :many name.to_s.singularize.camelize else name.to_s.camelize end end end def ivar @ivar ||= "@_#{name}" end def proxy_class case @type when :belongs_to if @options[:polymorphic] PolymorphicBelongsToProxy else BelongsToProxy end when :many if self.klass.embeddable? HasManyEmbeddedProxy else HasManyProxy end end end end end end
Version data entries
3 entries across 3 versions & 3 rubygems