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.



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

def initialize(static_config)
  super
  @static_config = static_config
end

Instance Method Details

#__getobj__Object Also known as: static_config



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

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

#__setobj__(obj) ⇒ Object



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

def __setobj__(obj)
  @static_config = obj
end

#download_urlObject



62
63
64
65
# File 'lib/solr_wrapper/settings.rb', line 62

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

#hostObject

Get the host this Solr instance is bound to



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

def host
  '127.0.0.1'
end

#instance_dirObject



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

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

#managed?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/solr_wrapper/settings.rb', line 58

def managed?
  File.exist?(instance_dir)
end

#md5sum_pathObject



84
85
86
# File 'lib/solr_wrapper/settings.rb', line 84

def md5sum_path
  File.join(download_dir, File.basename(md5url))
end

#md5urlObject



76
77
78
79
80
81
82
# File 'lib/solr_wrapper/settings.rb', line 76

def md5url
  if default_download_url == archive_download_url
    "#{archive_download_url}.md5"
  else
    "http://www.us.apache.org/dist/lucene/solr/#{static_config.version}/solr-#{static_config.version}.zip.md5"
  end
end

#portObject

Get the port this Solr instance is running at



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

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

#solr_binaryObject



88
89
90
# File 'lib/solr_wrapper/settings.rb', line 88

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

#solr_zip_pathObject



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

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

#tmp_save_dirObject



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

def tmp_save_dir
  @tmp_save_dir ||= Dir.mktmpdir
end

#urlObject

Get a (likely) URL to the solr instance



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

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

#version_fileObject



72
73
74
# File 'lib/solr_wrapper/settings.rb', line 72

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

#zookeeper_hostObject



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

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

#zookeeper_portObject



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

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