class Uc::Config
Public Class Methods
new(app_dir, config_file = nil)
click to toggle source
# File lib/uc/config.rb, line 10 def initialize(app_dir, config_file = nil) @config_file = config_file @app_dir = app_dir end
Public Instance Methods
app_dir()
click to toggle source
# File lib/uc/config.rb, line 77 def app_dir config[:working_dir] end
backlog(queue_size)
click to toggle source
# File lib/uc/config.rb, line 57 def backlog(queue_size) config[:queue_size] = queue_size end
config()
click to toggle source
# File lib/uc/config.rb, line 19 def config return @config if @config @config = { instances: 2, queue_size: 1024, timeout: 30, prestart_url: "/", working_dir: @app_dir, event_queue: "unicorn_#{Process.uid}", ready_wait: 5, listen: [] } load_env_yml "#{app_dir}/config/env.yml" load_env_yml "#{app_dir}/.env.yml" read_from_file return @config end
config_file()
click to toggle source
# File lib/uc/config.rb, line 15 def config_file @config_file ||= "#{app_dir}/config/uc.rb" end
env_yml(path, required: true)
click to toggle source
# File lib/uc/config.rb, line 85 def env_yml(path, required: true) load_env_yml(path, required: required) end
event_queue(event_queue)
click to toggle source
# File lib/uc/config.rb, line 73 def event_queue(event_queue) config[:event_queue] = event_queue end
event_queue_name()
click to toggle source
# File lib/uc/config.rb, line 49 def event_queue_name config[:event_queue] end
instances(num_instances)
click to toggle source
# File lib/uc/config.rb, line 53 def instances(num_instances) config[:instances] = num_instances end
listen(*ports)
click to toggle source
# File lib/uc/config.rb, line 41 def listen(*ports) config[:listen] = ports end
load_env()
click to toggle source
# File lib/uc/config.rb, line 89 def load_env # all environment variables will be loaded on config parsing config end
load_env_yml(path, required: false)
click to toggle source
# File lib/uc/config.rb, line 94 def load_env_yml(path, required: false) if not File.readable? path raise Error, "env file #{path} unreadable" if required logger.debug "skipped loading env from #{path}" return {} end logger.debug "loading env from #{path}" h = YAML.load_file(path) h.each { |k,v| ENV[k] = v.to_s } rescue => e raise Error, "failed to load env from #{path} : #{e.message}" if required logger.debug "failed to load env from #{path} : #{e.message}" end
prestart_url(url)
click to toggle source
# File lib/uc/config.rb, line 61 def prestart_url(url) config[:prestart_url] = url end
read_from_file()
click to toggle source
# File lib/uc/config.rb, line 108 def read_from_file return if not File.readable? config_file instance_eval(File.read(config_file)) rescue NoMethodError => e logger.warn "invalid option used in config: #{e.name}" end
ready_wait(wait_timeout)
click to toggle source
# File lib/uc/config.rb, line 45 def ready_wait(wait_timeout) config[:ready_wait] = wait_timeout.to_i end
skip_clean_env(value)
click to toggle source
# File lib/uc/config.rb, line 81 def skip_clean_env(value) config[:skip_clean_env] = value end
timeout(secs)
click to toggle source
# File lib/uc/config.rb, line 65 def timeout(secs) config[:timeout] = secs end
to_h()
click to toggle source
# File lib/uc/config.rb, line 37 def to_h config end
working_dir(working_dir)
click to toggle source
# File lib/uc/config.rb, line 69 def working_dir(working_dir) config[:working_dir] = working_dir end