Class: FullSearch::Highlighter
- Inherits:
-
Object
- Object
- FullSearch::Highlighter
- Extended by:
- Quoting
- Defined in:
- lib/full_search/highlighter.rb
Class Method Summary collapse
Class Method Details
.apply!(records, model, query) ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/full_search/highlighter.rb', line 6 def apply!(records, model, query) snippets = build_snippets(model, query) if snippets.values.all?(&:nil?) && records.any? snippets = manual_snippets(records, model, query) end records.each { |record| record.full_search_snippet = snippets[record.id] } records end |
.apply_fields!(records, model, query) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/full_search/highlighter.rb', line 15 def apply_fields!(records, model, query) fields = build_field_snippets(model, query) if fields.values.all?(&:empty?) && records.any? fields = manual_field_snippets(records, model, query) end exact_fields = exact_match_field_snippets(records, model, query) records.each do |record| merged = fields[record.id] || {} exact_fields.fetch(record.id, {}).each { |k, v| merged[k] ||= v } record.full_search_highlight_fields = merged end records end |