module Zlk

Constants

VERSION

Attributes

mutex[RW]

Public Class Methods

config() click to toggle source
# 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() click to toggle source
# File lib/zlk.rb, line 51
def config_file
  @config_file
end
config_file=(filepath) click to toggle source
# File lib/zlk.rb, line 46
def config_file=(filepath)
  @config_file = filepath
  @config = nil
end
connection_pool() click to toggle source

Lazy initialization

# 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) click to toggle source
# File lib/zlk.rb, line 10
def create_lock(path)
  if config.use_fake_locks?
    NullLock.new
  else
    Lock.new(path)
  end
end
env() click to toggle source
# File lib/zlk.rb, line 42
def env
  @env
end
env=(env) click to toggle source
# File lib/zlk.rb, line 37
def env=(env)
  @env = env
  @config = nil
end