class Traker::CLI
Traker's CLI
interfase
Constants
- SUBCOMMANDS
- SUBTEXT
Public Class Methods
new()
click to toggle source
# File lib/traker/cli.rb, line 17 def initialize @main = OptionParser.new do |opts| opts.banner = 'Usage: traker [options] [subcommand] [options]' opts.on('-v', '--version', 'Show version') opts.separator '' opts.separator SUBTEXT end @subcommands = { SUBCOMMANDS[:list] => OptionParser.new do |opts| opts.banner = 'Usage: list [options]' opts.on('-a', '--all', 'list all tasks') end } end
Public Instance Methods
run(argv)
click to toggle source
# File lib/traker/cli.rb, line 33 def run(argv) options = {} @main.order!(argv, into: options) if options[:version] puts Traker::VERSION return end subcommand = argv.shift subcommand_options = {} @subcommands[subcommand]&.order!(argv, into: subcommand_options) service = Traker::Service.new case subcommand when SUBCOMMANDS[:list] if subcommand_options[:all] print service.tasks.join("\n") else print service.pending_tasks.join("\n") end end end