Skip to main content
The Ruby extractor maps tree-sitter Ruby CST nodes to canonical concepts. Class and module names come from the name field on constants; method names from the name field on identifiers.

Detected concepts

Example

Renaming a method:
old.rb
new.rb
Running differens old.rb new.rb:

Example: change the body

Keep the declaration name and change what it does:
The report groups the value edit under its containing declaration. Use --format=json to inspect the underlying action and context, or --format=llm for a compact report with source locations.

Known limitations

  • Dynamic method definition (define_method) is a call, not a method: names built at runtime are invisible to the extractor.
  • true, false, and nil are anonymous tokens in the grammar. The native parser retains their token text, so changes between them remain visible.