Module: MultipleTableInheritance::Child::Base::FinderMethods

Defined in:
lib/multiple_table_inheritance/child/base.rb

Instance Method Summary collapse

Instance Method Details

#find_by_sql(*args) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
# File 'lib/multiple_table_inheritance/child/base.rb', line 102

def find_by_sql(*args)
  child_records = super(*args)
  
  ids = child_records.collect(&:id)
  parent_records = parent_association_class.as_supertype.find_all_by_id(ids)
  
  child_records.each do |child|
    parent = parent_records.find { |parent| parent.id == child.id }
    child.send(:parent_association=, parent) if parent
  end
end