Module: Zlk
- Defined in:
- lib/zlk.rb,
lib/zlk/lock.rb,
lib/zlk/config.rb,
lib/zlk/version.rb,
lib/zlk/lockable.rb,
lib/zlk/null_lock.rb
Defined Under Namespace
Modules: Lockable
Classes: Config, Lock, NullLock
Constant Summary
collapse
- VERSION =
"0.2.1"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.mutex ⇒ Object
Returns the value of attribute mutex.
7
8
9
|
# File 'lib/zlk.rb', line 7
def mutex
@mutex
end
|
Class Method Details
.config ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/zlk.rb', line 55
def config
@config ||= begin
yaml = ERB.new(File.read(config_file)).result
hash = YAML.load(yaml)
Zlk::Config.new(hash[env]) if hash
end
end
|
.config_file ⇒ Object
51
52
53
|
# File 'lib/zlk.rb', line 51
def config_file
@config_file
end
|
.config_file=(filepath) ⇒ Object
46
47
48
49
|
# File 'lib/zlk.rb', line 46
def config_file=(filepath)
@config_file = filepath
@config = nil
end
|
.connection_pool ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/zlk.rb', line 19
def connection_pool
return @connection_pool if @connection_pool
mutex.synchronize do
hosts = config.hosts.join(',')
@connection_pool = ZK::Pool::Simple.new(
hosts,
config.pool,
chroot: config.chroot,
timeout: config.connection_timeout,
ephemeral: true
)
end
@connection_pool
end
|
.create_lock(path) ⇒ Object
10
11
12
13
14
15
16
|
# File 'lib/zlk.rb', line 10
def create_lock(path)
if config.use_fake_locks?
NullLock.new
else
Lock.new(path)
end
end
|
.env ⇒ Object
42
43
44
|
# File 'lib/zlk.rb', line 42
def env
@env
end
|
.env=(env) ⇒ Object
37
38
39
40
|
# File 'lib/zlk.rb', line 37
def env=(env)
@env = env
@config = nil
end
|