Class: Lumin::CLI
- Inherits:
-
Object
- Object
- Lumin::CLI
- Defined in:
- lib/lumin/cli.rb,
lib/lumin/cli_formatters.rb
Constant Summary collapse
- FORMATTER_FEATURES =
{ "text" => "formatters/text", "json" => "formatters/json", "github" => "formatters/github" }.freeze
- FORMATTERS =
{ "text" => Formatters::Text, "json" => Formatters::Json, "github" => Formatters::Github }.freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(stdout:, stderr:) ⇒ CLI
constructor
A new instance of CLI.
- #run(argv) ⇒ Object
Constructor Details
#initialize(stdout:, stderr:) ⇒ CLI
Returns a new instance of CLI.
18 19 20 21 |
# File 'lib/lumin/cli.rb', line 18 def initialize(stdout:, stderr:) @stdout = stdout @stderr = stderr end |
Class Method Details
.start(argv = ARGV, stdout: $stdout, stderr: $stderr) ⇒ Object
14 15 16 |
# File 'lib/lumin/cli.rb', line 14 def self.start(argv = ARGV, stdout: $stdout, stderr: $stderr) new(stdout: stdout, stderr: stderr).run(argv) end |
Instance Method Details
#run(argv) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/lumin/cli.rb', line 23 def run(argv) = arguments = argv.dup parser = option_parser() parser.parse!(arguments) if [:help] @stdout.puts([:help]) return 0 end return print_version if [:version] raise OptionParser::InvalidOption, "--dry-run requires --fix" if [:dry_run] && ![:fix] load_runtime execute(, arguments) rescue OptionParser::ParseError, ArgumentError => error @stderr.puts("lumin: #{error.}") 2 rescue StandardError => error @stderr.puts("lumin: internal error: #{error.class}: #{error.}") 2 end |