Class: Rigor::CLI::TypeOfCommand
- Defined in:
- lib/rigor/cli/type_of_command.rb
Overview
Executes the ‘rigor type-of` command.
The command is a thin probe over ‘Rigor::Scope#type_of`: it locates the deepest expression at a `(file, line, column)` triple and prints the inferred type, RBS erasure, and (optionally) the recorded fail-soft fallbacks.
Encapsulating the command in its own class keeps ‘Rigor::CLI` focused on dispatching and lets us evolve the type-of UX (extra flags, watch mode, streaming output) without bloating the CLI shell. Output formatting is delegated to TypeOfRenderer.
Defined Under Namespace
Classes: Result
Constant Summary collapse
- USAGE =
"Usage: rigor type-of [options] FILE:LINE:COL"
Instance Method Summary collapse
-
#run ⇒ Integer
CLI exit status.
Methods inherited from Command
Constructor Details
This class inherits a constructor from Rigor::CLI::Command
Instance Method Details
#run ⇒ Integer
Returns CLI exit status.
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rigor/cli/type_of_command.rb', line 36 def run = buffer = Options.resolve_buffer_binding(, err: @err) return CLI::EXIT_USAGE if buffer == :usage_error target = parse_position_argument(@argv) return CLI::EXIT_USAGE if target.nil? execute(target: target, options: , buffer: buffer) end |