Public Class Methods
new(argv, services, script)
# File lib/harbor/script.rb, line 102 102: def initialize(argv, services, script) 103: raise ArgumentError.new("services must be a Harbor::Container but was #{services.inspect}") unless services.is_a?(Harbor::Container) 104: 105: @argv = argv 106: @script = script 107: @script_name = @script.to_s 108: @services = services 109: 110: @services.register(@script_name, @script) unless services.registered?(@script_name) 111: 112: parse! 113: end
Public Instance Methods
parse!()
# File lib/harbor/script.rb, line 115 115: def parse! 116: @options = { 117: :daemonize => false 118: } 119: 120: parser = OptionParser.new do |opts| 121: opts.on("-d", "--daemonize", "Daemonize process") { @options[:daemonize] = true } 122: end 123: 124: parser.parse!(@argv) 125: @command = @argv.shift 126: end
restart()
# File lib/harbor/script.rb, line 145 145: def restart 146: Harbor::Script.restart(@script.pid_file) 147: end
run!()
# File lib/harbor/script.rb, line 128 128: def run! 129: unless COMMANDS.include?(@command) 130: puts "#{@command.inspect} is not a valid command. Commands are: #{COMMANDS.join(", ")}" 131: exit 1 132: end 133: 134: send(@command) 135: end