Class: SolrWrapper::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/solr_wrapper/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.



5
6
7
8
9
10
# File 'lib/solr_wrapper/configuration.rb', line 5

def initialize(options = {})
  @config = options[:config]
  @verbose = options[:verbose]

  @options = load_configs(Array(options[:config])).merge(options)
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



3
4
5
# File 'lib/solr_wrapper/configuration.rb', line 3

def options
  @options
end

Instance Method Details

#cloudObject



87
88
89
# File 'lib/solr_wrapper/configuration.rb', line 87

def cloud
  options[:cloud]
end

#collection_optionsObject



99
100
101
102
# File 'lib/solr_wrapper/configuration.rb', line 99

def collection_options
  hash = options.fetch(:collection, {})
  Configuration.slice(convert_keys(hash), :name, :dir, :persist)
end

#configsetsObject



104
105
106
107
# File 'lib/solr_wrapper/configuration.rb', line 104

def configsets
  configsets = options[:configsets] || []
  configsets.map { |x| convert_keys(x) }
end

#default_download_dirObject



59
60
61
62
63
64
65
# File 'lib/solr_wrapper/configuration.rb', line 59

def default_download_dir
  if defined?(Rails) && Rails.respond_to?(:root) && Rails.root
    File.join(Rails.root, 'tmp')
  else
    Dir.tmpdir
  end
end

#download_dirObject



55
56
57
# File 'lib/solr_wrapper/configuration.rb', line 55

def download_dir
  options[:download_dir] || default_download_dir
end

#envObject



71
72
73
# File 'lib/solr_wrapper/configuration.rb', line 71

def env
  options.fetch(:env, {})
end

#extra_lib_dirObject



16
17
18
# File 'lib/solr_wrapper/configuration.rb', line 16

def extra_lib_dir
  options[:extra_lib_dir]
end

#ignore_md5sumObject



24
25
26
# File 'lib/solr_wrapper/configuration.rb', line 24

def ignore_md5sum
  options[:ignore_md5sum]
end

#instance_dirObject



75
76
77
# File 'lib/solr_wrapper/configuration.rb', line 75

def instance_dir
  options[:instance_dir]
end

#md5sumObject



28
29
30
# File 'lib/solr_wrapper/configuration.rb', line 28

def md5sum
  options[:md5sum]
end

#mirror_urlObject



83
84
85
# File 'lib/solr_wrapper/configuration.rb', line 83

def mirror_url
  "http://www.apache.org/dyn/closer.lua/lucene/solr/#{version}/solr-#{version}.zip?asjson=true"
end

#poll_intervalObject



109
110
111
# File 'lib/solr_wrapper/configuration.rb', line 109

def poll_interval
  options.fetch(:poll_interval, 1)
end

#portObject



36
37
38
39
40
41
# File 'lib/solr_wrapper/configuration.rb', line 36

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 options.key?(:port) && !options[:port]
  options.fetch(:port) { SolrWrapper.default_instance_options[:port] }.to_s
end

#solr_optionsObject



67
68
69
# File 'lib/solr_wrapper/configuration.rb', line 67

def solr_options
  options.fetch(:solr_options, {})
end

#solr_xmlObject



12
13
14
# File 'lib/solr_wrapper/configuration.rb', line 12

def solr_xml
  options[:solr_xml]
end

#solr_zip_pathObject



51
52
53
# File 'lib/solr_wrapper/configuration.rb', line 51

def solr_zip_path
  options[:solr_zip_path]
end

#urlObject



32
33
34
# File 'lib/solr_wrapper/configuration.rb', line 32

def url
  options[:url]
end

#validateObject



20
21
22
# File 'lib/solr_wrapper/configuration.rb', line 20

def validate
  options[:validate]
end

#verbose?Boolean

Returns:

  • (Boolean)


91
92
93
# File 'lib/solr_wrapper/configuration.rb', line 91

def verbose?
  @verbose || (options && !!options.fetch(:verbose, false))
end

#versionObject



79
80
81
# File 'lib/solr_wrapper/configuration.rb', line 79

def version
  @version ||= options.fetch(:version, SolrWrapper.default_instance_options[:version])
end

#version_fileObject



95
96
97
# File 'lib/solr_wrapper/configuration.rb', line 95

def version_file
  options[:version_file]
end

#zookeeper_hostObject



43
44
45
# File 'lib/solr_wrapper/configuration.rb', line 43

def zookeeper_host
  options[:zookeeper_host]
end

#zookeeper_portObject



47
48
49
# File 'lib/solr_wrapper/configuration.rb', line 47

def zookeeper_port
  options[:zookeeper_port]
end