Class: SolrMakr::CoreStatus
- Inherits:
-
Object
- Object
- SolrMakr::CoreStatus
- Defined in:
- lib/solr_makr/core_status.rb
Constant Summary collapse
- LOOKS_TRUE =
/\At(?:rue)?\z/i
- NAME_XML =
'str[name="name"]'
- DEFAULT_CORE_XML =
'bool[name="isDefaultCore"]'
- SIZE_XML =
'str[name="size"]'
- SIZE_IN_BYTES_XML =
'long[name="sizeInBytes"]'
- START_TIME_XML =
'date[name="startTime"]'
- UPTIME_XML =
'long[name="uptime"]'
- DOCUMENTS_XML =
'int[name="numDocs"]'
Class Method Summary collapse
Class Method Details
.from_xml(node) ⇒ SolrMakr::CoreStatus
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/solr_makr/core_status.rb', line 25 def from_xml(node) params = { name: text_at_css(node, NAME_XML), size: text_at_css(node, SIZE_XML), size_in_bytes: text_at_css(node, SIZE_IN_BYTES_XML), documents: text_at_css(node, DOCUMENTS_XML), uptime: text_at_css(node, UPTIME_XML) } params[:default_core] = text_at_css(node, DEFAULT_CORE_XML) do |res| res.to_s.match(LOOKS_TRUE).present? end params[:start_time] = text_at_css(node, START_TIME_XML) do |res| Time.parse res if res.present? end new params end |
.text_at_css(node, selector, &block) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/solr_makr/core_status.rb', line 45 def text_at_css(node, selector, &block) result = node.at_css(selector).try(:text) if block_given? yield result else result end end |