Class: Julewire::Core::CLI
- Inherits:
-
Object
- Object
- Julewire::Core::CLI
- Defined in:
- lib/julewire/core/cli.rb,
lib/julewire/core/cli/tail.rb,
lib/julewire/core/cli/doctor.rb,
lib/julewire/core/cli/transcode.rb,
lib/julewire/core/cli/log_formats.rb,
lib/julewire/core/cli/line_helpers.rb,
lib/julewire/core/cli/log_formats/console_text.rb,
lib/julewire/core/cli/log_formats/record_decoder.rb,
lib/julewire/core/cli/log_formats/core_json_decoder.rb,
lib/julewire/core/cli/log_formats/core_json_encoder.rb
Defined Under Namespace
Modules: LineHelpers, LogFormats Classes: Doctor, Tail, Transcode
Constant Summary collapse
- INTERRUPTED_STATUS =
130
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(argv:, stdin:, stdout:, stderr:) ⇒ CLI
constructor
A new instance of CLI.
Constructor Details
#initialize(argv:, stdin:, stdout:, stderr:) ⇒ CLI
Returns a new instance of CLI.
14 15 16 17 18 19 |
# File 'lib/julewire/core/cli.rb', line 14 def initialize(argv:, stdin:, stdout:, stderr:) @argv = argv.dup @stdin = stdin @stdout = stdout @stderr = stderr end |
Class Method Details
.call(argv: ARGV, stdin: $stdin, stdout: $stdout, stderr: $stderr) ⇒ Object
9 10 11 |
# File 'lib/julewire/core/cli.rb', line 9 def call(argv: ARGV, stdin: $stdin, stdout: $stdout, stderr: $stderr) new(argv: argv, stdin: stdin, stdout: stdout, stderr: stderr).call end |
Instance Method Details
#call ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/julewire/core/cli.rb', line 21 def call case command = @argv.shift when "tail" then tail when "transcode" then transcode when "doctor" then doctor when "-v", "--version", "version" then version when nil, "-h", "--help", "help" then help else fail_with("unknown command #{command.inspect}") end rescue Interrupt INTERRUPTED_STATUS rescue ArgumentError, Errno::ENOENT => e fail_with(e.) end |