guard-lacquer/lib/guard/lacquer/varnishncsa.rb

48 lines
1.0 KiB
Ruby

require 'guard/lacquer'
class Guard::Lacquer
class VarnishNCSA < Varnishd
attr_accessor :bin_path, :log_dir
def initialize(settings)
settings[:working_dir] ||= settings[:name]
self.working_dir, self.bin_path, self.log_dir = settings[:working_dir], settings[:bin_path], settings[:log_dir]
self.pid_dir = settings[:pid_dir] || 'tmp/pids'
end
def start
if running?
log("Aready running")
return
end
execute("#{varnishncsa_cmd} #{args}")
end
def stop
if running?
execute("kill #{pid}")
pid_file.delete
else
log("pid file not found or #{self.class.app_name} not running")
end
end
def options
opt = {}
opt["-P"] = pid_file
opt["-n"] = working_dir if working_dir.present?
opt["-a"] = '-D'
opt["-w"] = self.class.root_path.join(self.log_dir).join("varnishncsa.#{self.class.env}.log")
opt
end
protected
def varnishncsa_cmd
Pathname.new(self.bin_path).join('varnishncsa')
end
end
end