Skip to content

add(treesitter): extract Ruby callable symbols - #14

Merged
odvcencio merged 1 commit into
mainfrom
feature/ruby-callable-extraction-20260823
Aug 24, 2026
Merged

add(treesitter): extract Ruby callable symbols#14
odvcencio merged 1 commit into
mainfrom
feature/ruby-callable-extraction-20260823

Conversation

@odvcencio

Copy link
Copy Markdown
Owner

Summary

  • add a Canopy-owned Ruby tags query for modules, classes, instance methods, singleton methods, and call references
  • add a focused regression for nested Ruby containers and callable extraction
  • restore Ruby callable nodes to graph, dead-code, impact, complexity, hotspot, and structural-context consumers

Addresses the Ruby portion of #3. Kotlin and PHP remain explicitly out of scope.

Evidence

  • exact origin/main baseline: the regression reported no module, class, instance-method, or singleton-method definitions
  • feature: the same regression passes and indexes six symbols from the representative Ruby fixture
  • call graph: resolves total_with_tax -> tax_rate and default_rate -> lookup_rate, with zero unresolved calls
  • dead-code analysis: evaluates four Ruby callables instead of having no callable definitions to inspect

Validation

  • go test ./pkg/lang/treesitter -run '^TestRubyCallableExtraction$' -count=1 -v
  • go test ./pkg/lang/treesitter -count=1
  • go test ./pkg/index/... -count=1
  • go test -race ./pkg/lang/treesitter -run '^TestRubyCallableExtraction$' -count=1
  • go test ./... -count=1
  • staged secret scan: no leaks found

- Add curated Ruby queries for module and class definitions, instance and singleton methods, and call references.
- Cover nested containers and callable extraction with parser tests to prevent regressions.

Buckley-Change-Hash: sha256:9f55adaf97e3e121b8c5767727e744657271afe6e92d57ce7933e27411c47ca2
Buckley-Change-Stats: files=2 insertions=75 deletions=0 binaries=0
@odvcencio
odvcencio marked this pull request as ready for review August 24, 2026 01:47
@odvcencio
odvcencio merged commit b13ba83 into main Aug 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant