Class: ActiveSearch::Algolia::ResultsSet

Inherits:
ResultsSet
  • Object
show all
Defined in:
lib/activesearch/algolia/results_set.rb

Instance Attribute Summary

Attributes inherited from ResultsSet

#page, #per_page, #results, #total_entries, #total_pages

Instance Method Summary collapse

Methods inherited from ResultsSet

#define_parser

Constructor Details

#initialize(results, page = nil, per_page = nil) ⇒ ResultsSet

Returns a new instance of ResultsSet.



5
6
7
8
9
10
11
# File 'lib/activesearch/algolia/results_set.rb', line 5

def initialize(results, page = nil, per_page = nil)
  super

  @results        = results['hits']
  @total_entries  = results['nbHits']
  @total_pages    = results['hitsPerPage']
end

Instance Method Details

#parse(result) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/activesearch/algolia/results_set.rb', line 13

def parse(result)
  if result['_tags']
    result['_tags'].each do |tag|
      # preserve other ":" characters
      _segments = tag.split(':')

      unless _segments.empty? || _segments[1..-1].empty?
        result[_segments.first] = _segments[1..-1].join(':')
      end
    end
    result.delete("_tags")
  end
  result
end