Class: XTF::Result::Element::Group
- Inherits:
-
Object
- Object
- XTF::Result::Element::Group
- Defined in:
- lib/xtf/result/element/group.rb
Instance Attribute Summary collapse
-
#doc_hits ⇒ Object
(also: #hits)
readonly
require ‘libxml_helper’.
-
#end_doc ⇒ Object
readonly
require ‘libxml_helper’.
-
#query ⇒ Object
readonly
require ‘libxml_helper’.
-
#start_doc ⇒ Object
readonly
require ‘libxml_helper’.
-
#total_docs ⇒ Object
readonly
require ‘libxml_helper’.
-
#total_sub_groups ⇒ Object
readonly
require ‘libxml_helper’.
-
#value ⇒ Object
readonly
require ‘libxml_helper’.
Instance Method Summary collapse
-
#initialize(xml = nil, query = "") ⇒ Group
constructor
A new instance of Group.
-
#parse_xml(xml) ⇒ Object
Parses the important bits out of the XTF search results using LibXML-Ruby.
Constructor Details
#initialize(xml = nil, query = "") ⇒ Group
Returns a new instance of Group.
14 15 16 17 18 19 20 |
# File 'lib/xtf/result/element/group.rb', line 14 def initialize(xml=nil, query="") start = Time.now @doc_hits = [] @query = query parse_xml(xml) if xml # RAILS_DEFAULT_LOGGER.debug("~~~~~ #{self.class.name} initialized #{@doc_hits.size} hits in #{Time.now - start} seconds.") end |
Instance Attribute Details
#doc_hits ⇒ Object (readonly) Also known as: hits
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def doc_hits @doc_hits end |
#end_doc ⇒ Object (readonly)
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def end_doc @end_doc end |
#query ⇒ Object (readonly)
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def query @query end |
#start_doc ⇒ Object (readonly)
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def start_doc @start_doc end |
#total_docs ⇒ Object (readonly)
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def total_docs @total_docs end |
#total_sub_groups ⇒ Object (readonly)
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def total_sub_groups @total_sub_groups end |
#value ⇒ Object (readonly)
require ‘libxml_helper’
4 5 6 |
# File 'lib/xtf/result/element/group.rb', line 4 def value @value end |
Instance Method Details
#parse_xml(xml) ⇒ Object
Parses the important bits out of the XTF search results using LibXML-Ruby.
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/xtf/result/element/group.rb', line 23 def parse_xml(xml) @xml = xml.to_s.squish #.gsub(/\s+/, " ").strip @doc = XML::Document.parse_string(@xml).root @value = @doc.at('/group')['value'] @total_sub_groups = @doc.at('/group')['totalSubGroups'] @total_docs = @doc.at('/group')['totalDocs'] @start_doc = @doc.at('/group')['startDoc'] @end_doc = @doc.at('/group')['endDoc'] ## TODO subgroups @doc_hits = @doc.search('/group/docHit').collect { |h| XTF::Result::Element::DocHit.create(h, @query) }.compact end |