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.



7
8
9
10
11
12
# File 'lib/solr_wrapper/configuration.rb', line 7

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.



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

def options
  @options
end

Instance Method Details

#cloudObject



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

def cloud
  options[:cloud]
end

#collection_optionsObject



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

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

#configsetsObject



113
114
115
116
# File 'lib/solr_wrapper/configuration.rb', line 113

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

#default_download_dirObject



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

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



57
58
59
# File 'lib/solr_wrapper/configuration.rb', line 57

def download_dir
  options[:download_dir] || default_download_dir
end

#envObject



73
74
75
# File 'lib/solr_wrapper/configuration.rb', line 73

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

#extra_lib_dirObject



18
19
20
# File 'lib/solr_wrapper/configuration.rb', line 18

def extra_lib_dir
  options[:extra_lib_dir]
end

#ignore_md5sumObject



26
27
28
# File 'lib/solr_wrapper/configuration.rb', line 26

def ignore_md5sum
  options[:ignore_md5sum]
end

#instance_dirObject



77
78
79
# File 'lib/solr_wrapper/configuration.rb', line 77

def instance_dir
  options[:instance_dir]
end

#md5sumObject



30
31
32
# File 'lib/solr_wrapper/configuration.rb', line 30

def md5sum
  options[:md5sum]
end

#mirror_urlObject



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

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

#poll_intervalObject



118
119
120
# File 'lib/solr_wrapper/configuration.rb', line 118

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

#portObject



38
39
40
41
42
43
# File 'lib/solr_wrapper/configuration.rb', line 38

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



69
70
71
# File 'lib/solr_wrapper/configuration.rb', line 69

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

#solr_xmlObject



14
15
16
# File 'lib/solr_wrapper/configuration.rb', line 14

def solr_xml
  options[:solr_xml]
end

#solr_zip_pathObject



53
54
55
# File 'lib/solr_wrapper/configuration.rb', line 53

def solr_zip_path
  options[:solr_zip_path]
end

#urlObject



34
35
36
# File 'lib/solr_wrapper/configuration.rb', line 34

def url
  options[:url]
end

#validateObject



22
23
24
# File 'lib/solr_wrapper/configuration.rb', line 22

def validate
  options[:validate]
end

#verbose?Boolean

Returns:

  • (Boolean)


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

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

#versionObject



81
82
83
84
85
86
87
88
89
90
# File 'lib/solr_wrapper/configuration.rb', line 81

def version
  @version ||= begin
    config_version = options.fetch(:version, SolrWrapper.default_instance_options[:version])
    if config_version == 'latest'
      fetch_latest_version
    else
      config_version
    end
  end
end

#version_fileObject



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

def version_file
  options[:version_file]
end

#zookeeper_hostObject



45
46
47
# File 'lib/solr_wrapper/configuration.rb', line 45

def zookeeper_host
  options[:zookeeper_host]
end

#zookeeper_portObject



49
50
51
# File 'lib/solr_wrapper/configuration.rb', line 49

def zookeeper_port
  options[:zookeeper_port]
end