require 'miu' require 'god/sugar' require 'god/task' require 'god/watch' module Miu class << self def dump_cli_options(options) options.map do |k, v| v = case v when Array v.map { |x| "'#{x}'" }.join(' ') else v.to_s end "#{k}=#{v}" end.join(' ') end def watch(name) God.watch do |w| w.dir = Miu.root w.log = Miu.root.join("log/#{name}.log").to_s w.name = name w.group = 'all' yield w if block_given? [:start, :stop, :restart].each do |action| value = w.public_send action if value.is_a?(Array) options = Miu::Utility.extract_options! value value << dump_cli_options(options) w.public_send "#{action}=", value.join(' ') end end end end end end if $load_god God.port = Miu.default_god_port God.pid_file_directory = Miu.root.join('tmp/pids').to_s end