Class: Conferred
- Inherits:
-
Object
- Object
- Conferred
- Defined in:
- lib/conferred.rb
Constant Summary collapse
- DEFAULT_ETCD_HOST =
"172.17.42.1"
- DEFAULT_ETCD_PORT =
"2379"
- DEFAULT_ETCD_SCHEME =
"http"
- @@provider =
"env"
- @@etcd_scheme =
DEFAULT_ETCD_SCHEME
- @@etcd_host =
DEFAULT_ETCD_HOST
- @@etcd_port =
DEFAULT_ETCD_PORT
- @@namespace =
""
Class Method Summary collapse
- .etcd_host ⇒ Object
- .etcd_host=(host) ⇒ Object
- .etcd_port ⇒ Object
- .etcd_port=(port) ⇒ Object
- .etcd_scheme ⇒ Object
- .etcd_scheme=(scheme) ⇒ Object
- .etcd_setting_prefix ⇒ Object
- .method_missing(setting, *args, &block) ⇒ Object
- .namespace ⇒ Object
- .namespace=(value) ⇒ Object
- .provider ⇒ Object
-
.provider=(value) ⇒ Object
attr_writer :etcd_port, :etcd_scheme, :etcd_host.
- .setting_name(method_name) ⇒ Object
- .setting_value(key) ⇒ Object
- .setting_value!(key) ⇒ Object
- .setting_value?(key) ⇒ Boolean
Class Method Details
.etcd_host ⇒ Object
32 33 34 35 |
# File 'lib/conferred.rb', line 32 def etcd_host # if not provided set host to default docker host ip from within a container @@etcd_host || ENV["CONFERRED_ETCD_HOST"] || DEFAULT_ETCD_HOST end |
.etcd_host=(host) ⇒ Object
49 50 51 |
# File 'lib/conferred.rb', line 49 def etcd_host=(host) @@etcd_host = host end |
.etcd_port ⇒ Object
37 38 39 |
# File 'lib/conferred.rb', line 37 def etcd_port @@etcd_port || ENV["CONFERRED_ETCD_PORT"] || DEFAULT_ETCD_PORT end |
.etcd_port=(port) ⇒ Object
45 46 47 |
# File 'lib/conferred.rb', line 45 def etcd_port=(port) @@etcd_port = port end |
.etcd_scheme ⇒ Object
41 42 43 |
# File 'lib/conferred.rb', line 41 def etcd_scheme @@etcd_scheme || ENV["CONFERRED_ETCD_SCHEME"] || DEFAULT_ETCD_SCHEME end |
.etcd_scheme=(scheme) ⇒ Object
53 54 55 |
# File 'lib/conferred.rb', line 53 def etcd_scheme=(scheme) @@etcd_scheme = scheme end |
.etcd_setting_prefix ⇒ Object
82 83 84 |
# File 'lib/conferred.rb', line 82 def etcd_setting_prefix "#{self.etcd_scheme}://#{self.etcd_host}:#{self.etcd_port}/#{etcd_setting_namespace}" end |
.method_missing(setting, *args, &block) ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/conferred.rb', line 57 def method_missing(setting, *args, &block) super if setting =~ /#{provider}_setting_value/ method = :setting_value method = :setting_value? if setting[-1] == "?" method = :setting_value! if setting[-1] == "!" self.send method, setting end |
.namespace ⇒ Object
28 29 30 |
# File 'lib/conferred.rb', line 28 def namespace @@namespace || ENV["CONFERRED_ETCD_NAMESPACE"] || "" end |
.namespace=(value) ⇒ Object
24 25 26 |
# File 'lib/conferred.rb', line 24 def namespace=(value) @@namespace=value end |
.provider ⇒ Object
20 21 22 |
# File 'lib/conferred.rb', line 20 def provider @@provider || ENV["CONFERRED_PROVIDER"] || "env" end |
.provider=(value) ⇒ Object
attr_writer :etcd_port, :etcd_scheme, :etcd_host
16 17 18 |
# File 'lib/conferred.rb', line 16 def provider=(value) @@provider=value end |
.setting_name(method_name) ⇒ Object
65 66 67 |
# File 'lib/conferred.rb', line 65 def setting_name(method_name) method_name.to_s.chomp("!").chomp("?").upcase end |
.setting_value(key) ⇒ Object
69 70 71 72 |
# File 'lib/conferred.rb', line 69 def setting_value(key) #raise "Conferred: Undefined provider (#{@@provider})" unless self.responds_to setting_method_name self.send(setting_method_name, key) end |
.setting_value!(key) ⇒ Object
78 79 80 |
# File 'lib/conferred.rb', line 78 def setting_value!(key) self.setting_value(key) || raise("#{self.setting_name(key)} missing from environment") end |
.setting_value?(key) ⇒ Boolean
74 75 76 |
# File 'lib/conferred.rb', line 74 def setting_value?(key) self.setting_value(key) != nil end |