Class: Aireview::CLI
- Inherits:
-
Object
- Object
- Aireview::CLI
- Defined in:
- lib/aireview/cli.rb
Overview
rubocop:disable Metrics/ClassLength
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(argv, out:, err:, env: ENV) ⇒ CLI
constructor
A new instance of CLI.
- #start ⇒ Object
Constructor Details
#initialize(argv, out:, err:, env: ENV) ⇒ CLI
Returns a new instance of CLI.
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/aireview/cli.rb', line 11 def initialize(argv, out:, err:, env: ENV) @argv = argv.dup @env = env @out = out @err = err @run_id = SecureRandom.hex(4) @logger = Logger.new(err) @logger.level = Logger::INFO @logger.formatter = proc { |severity, _, _, | "[#{severity.downcase}] [run=#{@run_id}] #{}\n" } end |
Class Method Details
.start(argv, out: $stdout, err: $stderr, env: ENV) ⇒ Object
7 8 9 |
# File 'lib/aireview/cli.rb', line 7 def self.start(argv, out: $stdout, err: $stderr, env: ENV) new(argv, out: out, err: err, env: env).start end |
Instance Method Details
#start ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/aireview/cli.rb', line 22 def start command = @argv.shift case command when 'review' run_review(@argv) when 'models' run_models(@argv) when '--help', '-h', nil @out.puts(help) 0 else @err.puts("Unknown command: #{command}") @err.puts(help) 1 end rescue Aireview::HelpRequested 0 rescue Aireview::Error => e @err.puts("Error: #{e.}") 1 end |