Class: SolrWrapper::Settings

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

Overview

Configuraton that comes from static and dynamic sources.

Instance Method Summary collapse

Constructor Details

#initialize(static_config) ⇒ Settings

Returns a new instance of Settings.



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

def initialize(static_config)
  super
  @static_config = static_config
end

Instance Method Details

#__getobj__Object Also known as: static_config



7
8
9
# File 'lib/solr_wrapper/settings.rb', line 7

def __getobj__
  @static_config # return object we are delegating to, required
end

#__setobj__(obj) ⇒ Object



13
14
15
# File 'lib/solr_wrapper/settings.rb', line 13

def __setobj__(obj)
  @static_config = obj
end

#default_download_urlObject



82
83
84
# File 'lib/solr_wrapper/settings.rb', line 82

def default_download_url
  static_config.mirror_url
end

#download_urlObject



60
61
62
63
# File 'lib/solr_wrapper/settings.rb', line 60

def download_url
  @download_url ||= static_config.url
  @download_url ||= default_download_url
end

#hostObject

Get the host this Solr instance is bound to



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

def host
  '127.0.0.1'
end

#instance_dirObject



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

def instance_dir
  @instance_dir ||= static_config.instance_dir
  @instance_dir ||= File.join(tmpdir, File.basename(download_url, ".zip"))
end

#managed?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/solr_wrapper/settings.rb', line 56

def managed?
  File.exist?(instance_dir)
end

#portObject

Get the port this Solr instance is running at



35
36
37
38
# File 'lib/solr_wrapper/settings.rb', line 35

def port
  @port ||= static_config.port
  @port ||= random_open_port.to_s
end

#solr_binaryObject



74
75
76
# File 'lib/solr_wrapper/settings.rb', line 74

def solr_binary
  File.join(instance_dir, "bin", "solr")
end

#solr_zip_pathObject



65
66
67
68
# File 'lib/solr_wrapper/settings.rb', line 65

def solr_zip_path
  @solr_zip_path ||= static_config.solr_zip_path
  @solr_zip_path ||= default_solr_zip_path
end

#tmp_save_dirObject



78
79
80
# File 'lib/solr_wrapper/settings.rb', line 78

def tmp_save_dir
  @tmp_save_dir ||= Dir.mktmpdir
end

#urlObject

Get a (likely) URL to the solr instance



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

def url
  "http://#{host}:#{port}/solr/"
end

#version_fileObject



70
71
72
# File 'lib/solr_wrapper/settings.rb', line 70

def version_file
  static_config.version_file || File.join(instance_dir, "VERSION")
end

#zookeeper_hostObject



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

def zookeeper_host
  @zookeeper_host ||= static_config.zookeeper_port
  @zookeeper_host ||= host
end

#zookeeper_portObject



40
41
42
43
# File 'lib/solr_wrapper/settings.rb', line 40

def zookeeper_port
  @zookeeper_port ||= static_config.zookeeper_port
  @zookeeper_port ||= "#{port.to_i + 1000}"
end