Method: Ferret::Search::Spans::SpanNearQuery#rewrite

Defined in:
lib/ferret/search/spans/span_near_query.rb

#rewrite(reader) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/ferret/search/spans/span_near_query.rb', line 68

def rewrite(reader)
  clone = nil
  @clauses.each_index do |i|
    clause = @clauses[i]
    query = clause.rewrite(reader)
    if (query != clause) # clause rewrote: must clone
      if (clone == nil)
        clone = self.clone()
      end
      clone.clauses[i] = query
    end
  end
  if (clone != nil) 
    return clone                        # some clauses rewrote
  else 
    return self                         # no clauses rewrote
  end
end