class Nand::Cli
Public Instance Methods
start(target, *argv)
click to toggle source
# File lib/nand/cli.rb, line 29 def start(target, *argv) opts = restore_options(options) log_debug! if opts[:debug] dir = run_dir(opts) dir.mkpath unless dir.exist? launcher = find_launcher(target, opts, *argv) opts[:launcher] = launcher daemon = Daemon.new(dir, launcher.execname, opts) print "#{daemon.execname} is Start " begin daemon.run sleep 0 if daemon.running? puts "Success [#{daemon.pid}]" end rescue => e puts "Failed [#{e.message}]" log.debug "\t" + e.backtrace.join("\n\t") exit -1 end end
status(target = nil)
click to toggle source
# File lib/nand/cli.rb, line 53 def status(target = nil) ds = if options[:all] Daemon.all_runnings else Daemon.running_in(run_dir(options), target) end ds.each do |d| puts status_message(d.run_dir, d.execname, d.running?, d.pid, d.user) end puts status_message(run_dir(options), target, false) if ds.empty? and !target.nil? end
stop(target = nil)
click to toggle source
# File lib/nand/cli.rb, line 67 def stop(target = nil) dir = run_dir(options) log_debug! if options[:debug] ds = if options[:all] Daemon.all_runnings else Daemon.running_in(dir, target) end ds.each do |d| pid = d.pid if d.running? begin print "#{d.execname} is " d.stop and puts "Stopped [#{pid}]" rescue => e puts "Failed [#{e.message}]" log.debug "\t" + e.backtrace.join("\n\t") end else puts "#{d.execname} is Not Running" end end puts status_message(dir, target, false) if !target.nil? and ds.empty? end
version()
click to toggle source
# File lib/nand/cli.rb, line 93 def version puts File.basename($PROGRAM_NAME) + " " + VERSION end
Private Instance Methods
find_launcher(target, opts, *argv, &block)
click to toggle source
# File lib/nand/cli.rb, line 98 def find_launcher(target, opts, *argv, &block) launcher = Nand::Launcher.find( target, opts, *(argv + Nand.additional_argv) ) if block_given? block.call(launcher) else launcher end end
invoke_task(task, *args)
click to toggle source
デフォルトメソッドを上書きして -h をヘルプ
Calls superclass method
# File lib/nand/cli.rb, line 114 def invoke_task(task, *args) if options[:help] help(task.name) elsif options[:version] or args.flatten.first == "-v" version else super end end
run_dir(opts)
click to toggle source
# File lib/nand/cli.rb, line 106 def run_dir(opts) Pathname.new(opts[:run_dir] || Dir.pwd) end
status_message(dir, target, running, pid = nil, user = nil)
click to toggle source
# File lib/nand/cli.rb, line 109 def status_message(dir, target, running, pid = nil, user = nil) "#{target} is " + (running ? "Running [#{pid}] by #{user}" : "Not Running") + " in #{dir}" end