Class: Assistant::RbsGenerator::Cli
- Inherits:
-
Object
- Object
- Assistant::RbsGenerator::Cli
- Defined in:
- lib/assistant/rbs_generator/cli.rb
Overview
Command-line entry point. Parses argv, loads the input files, discovers Service subclasses, renders, writes.
Constant Summary collapse
- USAGE =
Usage banner printed by
--help. <<~USAGE Usage: assistant-rbs [PATH...] [--output DIR] [--quiet] Loads every Ruby file under the given PATHs (default: lib/) and writes one .rbs file per Assistant::Service subclass found, under DIR (default: sig/). Existing .rbs files without the generator marker comment on their first line are left untouched. USAGE
Class Method Summary collapse
-
.run(argv, stdout: $stdout, stderr: $stderr) ⇒ Integer
Convenience wrapper that builds a
Cliand runs it.
Instance Method Summary collapse
-
#initialize(argv, stdout: $stdout, stderr: $stderr) ⇒ Cli
constructor
A new instance of Cli.
-
#run ⇒ Object
Returns an exit status (0 on success, non-zero on failure).
Constructor Details
#initialize(argv, stdout: $stdout, stderr: $stderr) ⇒ Cli
Returns a new instance of Cli.
34 35 36 37 38 39 40 41 |
# File 'lib/assistant/rbs_generator/cli.rb', line 34 def initialize(argv, stdout: $stdout, stderr: $stderr) @argv = argv @stdout = stdout @stderr = stderr @output_dir = Assistant::RbsGenerator::DEFAULT_OUTPUT_DIR @quiet = false @paths = nil end |
Class Method Details
.run(argv, stdout: $stdout, stderr: $stderr) ⇒ Integer
Convenience wrapper that builds a Cli and runs it.
29 30 31 |
# File 'lib/assistant/rbs_generator/cli.rb', line 29 def run(argv, stdout: $stdout, stderr: $stderr) new(argv, stdout:, stderr:).run end |
Instance Method Details
#run ⇒ Object
Returns an exit status (0 on success, non-zero on failure).
44 45 46 47 48 49 50 51 52 |
# File 'lib/assistant/rbs_generator/cli.rb', line 44 def run before = service_subclasses load_paths(@paths || Assistant::RbsGenerator::DEFAULT_INPUT_PATHS) emit(service_subclasses - before) 0 rescue SystemExit => e e.status end |