Class: SolrWrapper::Configuration
- Inherits:
-
Object
- Object
- SolrWrapper::Configuration
- Defined in:
- lib/solr_wrapper/configuration.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #algorithm ⇒ Object
- #archive_download_url ⇒ Object
- #checksum ⇒ Object
- #closest_mirror_url ⇒ Object
- #cloud ⇒ Object
- #collection_options ⇒ Object
- #configsets ⇒ Object
- #default_download_dir ⇒ Object
- #download_dir ⇒ Object
- #env ⇒ Object
- #extra_lib_dir ⇒ Object
- #ignore_checksum ⇒ Object
-
#initialize(options = {}) ⇒ Configuration
constructor
A new instance of Configuration.
- #instance_dir ⇒ Object
- #mirror_url ⇒ Object
- #poll_interval ⇒ Object
- #port ⇒ Object
- #solr_options ⇒ Object
- #solr_xml ⇒ Object
- #solr_zip_path ⇒ Object
- #url ⇒ Object
- #validate ⇒ Object
- #verbose? ⇒ Boolean
- #version ⇒ Object
- #version_file ⇒ Object
- #zookeeper_host ⇒ Object
- #zookeeper_port ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Configuration
Returns a new instance of Configuration.
7 8 9 10 11 12 |
# File 'lib/solr_wrapper/configuration.rb', line 7 def initialize( = {}) @config = [:config] @verbose = [:verbose] @options = load_configs(Array([:config])).merge() end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/solr_wrapper/configuration.rb', line 5 def @options end |
Instance Method Details
#algorithm ⇒ Object
34 35 36 |
# File 'lib/solr_wrapper/configuration.rb', line 34 def algorithm [:algorithm] end |
#archive_download_url ⇒ Object
123 124 125 |
# File 'lib/solr_wrapper/configuration.rb', line 123 def archive_download_url "https://archive.apache.org/dist/lucene/solr/#{version}/solr-#{version}.zip" end |
#checksum ⇒ Object
30 31 32 |
# File 'lib/solr_wrapper/configuration.rb', line 30 def checksum [:checksum] end |
#closest_mirror_url ⇒ Object
96 97 98 |
# File 'lib/solr_wrapper/configuration.rb', line 96 def closest_mirror_url "http://www.apache.org/dyn/closer.lua/lucene/solr/#{version}/solr-#{version}.zip?asjson=true" end |
#cloud ⇒ Object
127 128 129 |
# File 'lib/solr_wrapper/configuration.rb', line 127 def cloud [:cloud] end |
#collection_options ⇒ Object
139 140 141 142 |
# File 'lib/solr_wrapper/configuration.rb', line 139 def hash = .fetch(:collection, {}) Configuration.slice(convert_keys(hash), :name, :dir, :persist) end |
#configsets ⇒ Object
144 145 146 147 |
# File 'lib/solr_wrapper/configuration.rb', line 144 def configsets configsets = [:configsets] || [] configsets.map { |x| convert_keys(x) } end |
#default_download_dir ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/solr_wrapper/configuration.rb', line 65 def default_download_dir if defined?(Rails) && Rails.respond_to?(:root) && Rails.root File.join(Rails.root, 'tmp') else Dir.tmpdir end end |
#download_dir ⇒ Object
61 62 63 |
# File 'lib/solr_wrapper/configuration.rb', line 61 def download_dir [:download_dir] || default_download_dir end |
#env ⇒ Object
77 78 79 |
# File 'lib/solr_wrapper/configuration.rb', line 77 def env .fetch(:env, {}) end |
#extra_lib_dir ⇒ Object
18 19 20 |
# File 'lib/solr_wrapper/configuration.rb', line 18 def extra_lib_dir [:extra_lib_dir] end |
#ignore_checksum ⇒ Object
26 27 28 |
# File 'lib/solr_wrapper/configuration.rb', line 26 def ignore_checksum [:ignore_checksum] end |
#instance_dir ⇒ Object
81 82 83 |
# File 'lib/solr_wrapper/configuration.rb', line 81 def instance_dir [:instance_dir] end |
#mirror_url ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/solr_wrapper/configuration.rb', line 100 def mirror_url @mirror_url ||= if [:mirror_url] [:mirror_url] + "lucene/solr/#{version}/solr-#{version}.zip" else begin json = open(closest_mirror_url).read doc = JSON.parse(json) url = doc['preferred'] + doc['path_info'] response = Faraday.head(url) if response.success? url else archive_download_url end rescue Errno::ECONNRESET, SocketError, Faraday::Error archive_download_url end end end |
#poll_interval ⇒ Object
149 150 151 |
# File 'lib/solr_wrapper/configuration.rb', line 149 def poll_interval .fetch(:poll_interval, 1) end |
#port ⇒ Object
42 43 44 45 46 47 |
# File 'lib/solr_wrapper/configuration.rb', line 42 def port # Check if the port option has been explicitly set to nil. # this means to start solr wrapper on a random open port return nil if .key?(:port) && ![:port] .fetch(:port) { SolrWrapper.[:port] }.to_s end |
#solr_options ⇒ Object
73 74 75 |
# File 'lib/solr_wrapper/configuration.rb', line 73 def .fetch(:solr_options, {}) end |
#solr_xml ⇒ Object
14 15 16 |
# File 'lib/solr_wrapper/configuration.rb', line 14 def solr_xml [:solr_xml] end |
#solr_zip_path ⇒ Object
57 58 59 |
# File 'lib/solr_wrapper/configuration.rb', line 57 def solr_zip_path [:solr_zip_path] end |
#url ⇒ Object
38 39 40 |
# File 'lib/solr_wrapper/configuration.rb', line 38 def url [:url] end |
#validate ⇒ Object
22 23 24 |
# File 'lib/solr_wrapper/configuration.rb', line 22 def validate [:validate] end |
#verbose? ⇒ Boolean
131 132 133 |
# File 'lib/solr_wrapper/configuration.rb', line 131 def verbose? @verbose || ( && !!.fetch(:verbose, false)) end |
#version ⇒ Object
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/solr_wrapper/configuration.rb', line 85 def version @version ||= begin config_version = .fetch(:version, SolrWrapper.[:version]) if config_version == 'latest' fetch_latest_version else config_version end end end |
#version_file ⇒ Object
135 136 137 |
# File 'lib/solr_wrapper/configuration.rb', line 135 def version_file [:version_file] end |
#zookeeper_host ⇒ Object
49 50 51 |
# File 'lib/solr_wrapper/configuration.rb', line 49 def zookeeper_host [:zookeeper_host] end |
#zookeeper_port ⇒ Object
53 54 55 |
# File 'lib/solr_wrapper/configuration.rb', line 53 def zookeeper_port [:zookeeper_port] end |