Abstract base class for AggregateReflection and AssociationReflection. Objects of AggregateReflection and AssociationReflection are returned by the Reflection::ClassMethods.
| [R] | active_record | |
| [R] | name |
Returns the name of the macro. composed_of :balance, :class_name => 'Money' returns :balance has_many :clients returns :clients |
| [R] | macro |
Returns the macro type. composed_of :balance, :class_name => 'Money' returns :composed_of has_many :clients returns :has_many |
| [R] | options |
Returns the hash of options used for the macro. composed_of :balance, :class_name => 'Money' returns { :class_name => "Money" } has_many :clients returns +{}+ |
[ show source ]
# File activerecord/lib/active_record/reflection.rb, line 86 def initialize(macro, name, options, active_record) @macro, @name, @options, @active_record = macro, name, options, active_record end
Returns true if self and other_aggregation have the same name attribute, active_record attribute, and other_aggregation has an options hash assigned to it.
[ show source ]
# File activerecord/lib/active_record/reflection.rb, line 126 def ==(other_aggregation) other_aggregation.kind_of?(self.class) && name == other_aggregation.name && other_aggregation.options && active_record == other_aggregation.active_record end
Returns the class name for the macro.
composed_of :balance, :class_name => 'Money' returns 'Money' has_many :clients returns 'Client'
[ show source ]
# File activerecord/lib/active_record/reflection.rb, line 120 def class_name @class_name ||= options[:class_name] || derive_class_name end
Returns the class for the macro.
composed_of :balance, :class_name => 'Money' returns the Money class has_many :clients returns the Client class
[ show source ]
# File activerecord/lib/active_record/reflection.rb, line 112 def klass @klass ||= class_name.constantize end