class Zashoku::Options
Public Class Methods
parse(args)
click to toggle source
# File lib/core/options.rb, line 7 def self.parse(args) options = { daemon: false, server: true, server_command: nil, generate: false, template: nil, generate_name: nil, host: {} } parser = OptionParser.new do |opts| opts.banner = "Usage: #{Zashoku::CConf[:app][:name]} [options]" opts.on('-s [COMMAND]', '--server [COMMAND]', 'pass commands to the server') do |cmd| options[:server] = true options[:server_command] = cmd || 'start' end opts.on('-d', '--daemon', 'daemonize the server') do |d| options[:daemon] = true end if Zashoku::CConf[:app][:name] == 'zashoku' opts.on('-g TEMPLATE', '--generate TEMPLATE', 'generate a template') do |template| options[:template] = template options[:generate] = true end end opts.on('-H HOST', '--host HOST', 'specify host') do |host| options[:host][:host] = host.split(':').first options[:host][:port] = host.split(':').last end opts.on_tail('-h', '--help', 'Show this message') do puts opts exit end opts.on_tail('--version', 'Show version') do puts Zashoku::Version.join('.') exit end end parser.parse!(args) options[:generate_name] = args.pop if options[:template] options end