Class: ActiveDocument::SearchResults
- Inherits:
-
Object
- Object
- ActiveDocument::SearchResults
- Includes:
- Enumerable
- Defined in:
- lib/ActiveDocument/search_results.rb
Instance Attribute Summary collapse
-
#facets ⇒ Object
readonly
Returns the value of attribute facets.
Instance Method Summary collapse
- #[](index) ⇒ Object
- #each(&block) ⇒ Object
- #execution_time ⇒ Object
-
#initialize(results) ⇒ SearchResults
constructor
A new instance of SearchResults.
- #length ⇒ Object
- #page_length ⇒ Object
- #start ⇒ Object
- #total ⇒ Object
Constructor Details
#initialize(results) ⇒ SearchResults
Returns a new instance of SearchResults.
24 25 26 |
# File 'lib/ActiveDocument/search_results.rb', line 24 def initialize(results) @results_document = Nokogiri::XML(results) end |
Instance Attribute Details
#facets ⇒ Object (readonly)
Returns the value of attribute facets.
22 23 24 |
# File 'lib/ActiveDocument/search_results.rb', line 22 def facets @facets end |
Instance Method Details
#[](index) ⇒ Object
53 54 55 |
# File 'lib/ActiveDocument/search_results.rb', line 53 def [](index) SearchResult.new(@results_document.xpath("/corona:response/corona:results/corona:result")[index]) end |
#each(&block) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/ActiveDocument/search_results.rb', line 44 def each(&block) nodeset = @results_document.xpath("/corona:response/corona:results/corona:result") if nodeset.length == 1 yield SearchResult.new(nodeset[0]) else @results_document.xpath("/corona:response/corona:results/corona:result").each {|node| yield SearchResult.new(node)} end end |
#execution_time ⇒ Object
32 33 34 |
# File 'lib/ActiveDocument/search_results.rb', line 32 def execution_time Integer(@results_document.xpath("/corona:response/corona:meta/corona:executionTime/text()").to_s) end |
#length ⇒ Object
57 58 59 |
# File 'lib/ActiveDocument/search_results.rb', line 57 def length @results_document.xpath("/corona:response/corona:results/corona:result").length end |
#page_length ⇒ Object
40 41 42 |
# File 'lib/ActiveDocument/search_results.rb', line 40 def page_length total - start + 1 end |
#start ⇒ Object
36 37 38 |
# File 'lib/ActiveDocument/search_results.rb', line 36 def start Integer(@results_document.xpath("/corona:response/corona:meta/corona:start/text()").to_s) end |
#total ⇒ Object
28 29 30 |
# File 'lib/ActiveDocument/search_results.rb', line 28 def total Integer(@results_document.xpath("/corona:response/corona:meta/corona:total/text()").to_s) end |