Class: SolrMakr::SolrConfiguration
- Inherits:
-
Object
- Object
- SolrMakr::SolrConfiguration
- Includes:
- SolrRequest
- Defined in:
- lib/solr_makr/solr_configuration.rb
Constant Summary collapse
- DEFAULT_HOME =
'/opt/solr/jetty-solr/'
- DEFAULT_HOST =
'localhost'
- DEFAULT_PORT =
8983
Instance Method Summary collapse
- #core(name: nil) ⇒ Object
- #core_directory ⇒ String
- #cores ⇒ Object
- #env ⇒ Object
-
#initialize(env = ENV) ⇒ SolrConfiguration
constructor
A new instance of SolrConfiguration.
- #solr_status ⇒ <SolrMakr::CoreStatus>
Methods included from SolrRequest
Constructor Details
#initialize(env = ENV) ⇒ SolrConfiguration
Returns a new instance of SolrConfiguration.
23 24 25 26 27 |
# File 'lib/solr_makr/solr_configuration.rb', line 23 def initialize(env = ENV) @_env = env super() end |
Instance Method Details
#core(name: nil) ⇒ Object
33 34 35 |
# File 'lib/solr_makr/solr_configuration.rb', line 33 def core(name: nil) Core.new name: name, config: self end |
#core_directory ⇒ String
44 45 46 |
# File 'lib/solr_makr/solr_configuration.rb', line 44 def core_directory home.join 'solr' end |
#cores ⇒ Object
37 38 39 40 41 |
# File 'lib/solr_makr/solr_configuration.rb', line 37 def cores core_directory.children.each_with_object [] do |path, cores| cores << core(name: path.basename) if looks_like_core_directory?(path) end end |
#env ⇒ Object
29 30 31 |
# File 'lib/solr_makr/solr_configuration.rb', line 29 def env @_env ||= ENV end |
#solr_status ⇒ <SolrMakr::CoreStatus>
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/solr_makr/solr_configuration.rb', line 49 def solr_status resp = solr_request solr_cores_url, params: { action: 'STATUS' } parsed = Nokogiri::XML(resp.body) statuses = parsed.at_css('lst[name="status"]').try(:children) return [] unless statuses.present? statuses.each_with_object [] do |status, list| created = SolrMakr::CoreStatus.from_xml status# rescue nil list << created if created.present? end end |