# File lib/acts_as_indexed/search_atom.rb, line 64 def preceded_by(former) matches = SearchAtom.new latter = ActiveSupport::OrderedHash.new former.record_ids.each do |rid| latter[rid] = @records[rid] if @records[rid] end # Iterate over each record in latter. latter.each do |record_id,pos| # Iterate over each position. pos.each do |p| # Check if previous position is in former. if former.include_position?(record_id,p-1) matches.add_record(record_id) unless matches.include_record?(record_id) matches.add_position(record_id,p) end end end matches end