Class: Apiary::CLI
- Inherits:
-
Object
- Object
- Apiary::CLI
- Defined in:
- lib/apiary/cli.rb
Instance Attribute Summary (collapse)
-
- (Object) command
readonly
Returns the value of attribute command.
Instance Method Summary (collapse)
-
- (CLI) initialize(args)
constructor
A new instance of CLI.
- - (Object) parse_options!(args)
- - (Object) run(options)
Constructor Details
- (CLI) initialize(args)
Returns a new instance of CLI
8 9 10 11 12 |
# File 'lib/apiary/cli.rb', line 8 def initialize(args) = (args) @command = .delete(:command) run() end |
Instance Attribute Details
- (Object) command (readonly)
Returns the value of attribute command
6 7 8 |
# File 'lib/apiary/cli.rb', line 6 def command @command end |
Instance Method Details
- (Object) parse_options!(args)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/apiary/cli.rb', line 18 def (args) = {} command = nil if args.first && !args.first.start_with?("-") command = args.first end = OptionParser.new do |opts| opts.on("--path [PATH]") do |path| raise OptionParser::InvalidOption unless ["fetch", "preview", "publish"].include? command [:path] = path end opts.on("--output [PATH]") do |path| raise OptionParser::InvalidOption unless ["fetch", "preview"].include? command [:output] = path end opts.on("--api_host API_HOST") do |api_host| raise OptionParser::InvalidOption unless ["fetch", "preview", "publish"].include? command [:api_host] = api_host end opts.on("--api-name API_HOST") do |api_name| raise OptionParser::InvalidOption unless ["fetch", "publish"].include? command [:api_name] = api_name end opts.on("--message COMMIT_MESSAGE") do || raise OptionParser::InvalidOption if command != "publish" [:commit_message] = end opts.on("--browser BROWSER") do |browser| raise OptionParser::InvalidOption if command != "preview" [:browser] = browser end opts.on("--server") do raise OptionParser::InvalidOption if command != "preview" [:server] = true end opts.on("--port [PORT]") do |port| raise OptionParser::InvalidOption unless ["fetch", "preview", "publish"].include? command [:port] = port end opts.on('-v', '--version') do raise OptionParser::InvalidOption if command command = :version end opts.on( '-h', '--help') do raise OptionParser::InvalidOption if command command = :help end end .parse! [:command] = command || :help rescue OptionParser::InvalidOption => e puts e puts Apiary::Command::Help. exit 1 end |
- (Object) run(options)
14 15 16 |
# File 'lib/apiary/cli.rb', line 14 def run() Apiary::Command::Runner.run(@command, ) end |