Class: RosettAi::Retrofit::Scanner
- Inherits:
-
Object
- Object
- RosettAi::Retrofit::Scanner
- Defined in:
- lib/rosett_ai/retrofit/scanner.rb
Overview
MCP-facing facade for retrofit operations.
Delegates to Engine for the actual retrofit logic, providing the simplified interface expected by Mcp::Tools::RetrofitTool.
Instance Method Summary collapse
-
#available_parsers ⇒ Array<String>
Available parser/engine names.
-
#convert(engine: nil, options: {}) ⇒ Hash
Converts native configs to Rosett-AI YAML.
-
#initialize(output_dir: Pathname.new(Dir.pwd)) ⇒ Scanner
constructor
A new instance of Scanner.
-
#scan ⇒ Array<Hash>
Scans for native AI tool configs without writing files.
Constructor Details
#initialize(output_dir: Pathname.new(Dir.pwd)) ⇒ Scanner
Returns a new instance of Scanner.
16 17 18 |
# File 'lib/rosett_ai/retrofit/scanner.rb', line 16 def initialize(output_dir: Pathname.new(Dir.pwd)) @output_dir = output_dir end |
Instance Method Details
#available_parsers ⇒ Array<String>
Returns available parser/engine names.
21 22 23 |
# File 'lib/rosett_ai/retrofit/scanner.rb', line 21 def available_parsers Engine.available_engines end |
#convert(engine: nil, options: {}) ⇒ Hash
Converts native configs to Rosett-AI YAML.
38 39 40 41 42 43 44 |
# File 'lib/rosett_ai/retrofit/scanner.rb', line 38 def convert(engine: nil, options: {}) dry_run = .fetch(:dry_run, true) engines = engine ? [engine] : nil retrofitter = Engine.new(output_dir: @output_dir, engines: engines) result = dry_run ? retrofitter.simulate : retrofitter.retrofit { converted: result[:generated].size, files: result[:generated] } end |