Class: ActiveRecord::Reflection::MacroReflection

Class | ActiveRecord::Reflection::MacroReflection
In: | lib/active_record/reflection.rb
Parent: | Object

Abstract base class for AggregateReflection and AssociationReflection that describes the interface available for both of those classes. Objects of AggregateReflection and AssociationReflection are returned by the Reflection::ClassMethods.

### Methods

== class_name klass macro name new options

### Attributes

active_record | [R] |

### Public Class methods

new(macro, name, options, active_record)

### Public Instance methods

==(other_aggregation)

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.

class_name()

Returns the class name for the macro. For example, `composed_of :balance, :class_name => ‘Money‘` returns `‘Money‘` and `has_many :clients` returns `‘Client‘`.

klass()

Returns the class for the macro. For example, `composed_of :balance, :class_name => ‘Money‘` returns the Money class and `has_many :clients` returns the Client class.

macro()

Returns the macro type. For example, `composed_of :balance, :class_name => ‘Money‘` will return `:composed_of` or for `has_many :clients` will return `:has_many`.

name()

Returns the name of the macro. For example, `composed_of :balance, :class_name => ‘Money‘` will return `:balance` or for `has_many :clients` it will return `:clients`.

options()

Returns the hash of options used for the macro. For example, it would return `{ :class_name => "Money" }` for `composed_of :balance, :class_name => ‘Money‘` or +{}+ for `has_many :clients`.

[Validate]