Method: ActiveRecord::Reflection::ClassMethods#reflect_on_all_associations

Defined in:
lib/active_record/reflection.rb

#reflect_on_all_associations(macro = nil) ⇒ Object

Returns an array of AssociationReflection objects for all the aggregations in the class. If you only want to reflect on a certain association type, pass in the symbol (:has_many, :has_one, :belongs_to) for that as the first parameter. Example:

Account.reflect_on_all_associations             # returns an array of all associations
Account.reflect_on_all_associations(:has_many)  # returns an array of all has_many associations


54
55
56
57
# File 'lib/active_record/reflection.rb', line 54

def reflect_on_all_associations(macro = nil)
  association_reflections = reflections.values.select { |reflection| reflection.is_a?(AssociationReflection) }
  macro ? association_reflections.select { |reflection| reflection.macro == macro } : association_reflections
end