class Sv::Supervisor::Config
Attributes
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/sv/supervisor/config.rb, line 11 def initialize(config) @config = config end
Public Instance Methods
binding()
click to toggle source
# File lib/sv/supervisor/config.rb, line 54 def binding opts = OpenStruct.new opts.socket_path = File.realdirpath config.socket_path opts.pidfile = File.realdirpath config.pidfile opts.logfile = File.realdirpath config.logfile opts.rendered_jobs = rendered_jobs opts.instance_eval { binding } end
generate_config_file()
click to toggle source
# File lib/sv/supervisor/config.rb, line 24 def generate_config_file erb = ERB.new(File.read(template), nil, '-') File.open(path, 'w') do |f| f.write erb.result(binding) end rescue => e raise ::Sv::Error, "unable to generate supervisor config" end
generate_once()
click to toggle source
# File lib/sv/supervisor/config.rb, line 33 def generate_once return if @config_generated generate_config_file @config_generated = true end
generated_path()
click to toggle source
# File lib/sv/supervisor/config.rb, line 19 def generated_path generate_once path end
path()
click to toggle source
# File lib/sv/supervisor/config.rb, line 15 def path @path ||= File.realdirpath "#{config.app_dir}/tmp/supervisor.conf" end
rendered_jobs()
click to toggle source
# File lib/sv/supervisor/config.rb, line 43 def rendered_jobs jobs = config.jobs jobs.inject("") do |str, job| logger.debug "rendering #{job}" render = job.render logger.debug render str << render if render str end end
template()
click to toggle source
# File lib/sv/supervisor/config.rb, line 39 def template "#{__dir__}/../templates/supervisor.conf.erb" end