How seattlerb/debride works
Debride is a Ruby static-analysis CLI that reports methods it believes may be uncalled, with Rails-aware handling and whitelist support. Its main workflow expands input paths, parses Ruby, records defined and referenced methods, filters candidates, and reports them. Separate commands derive whitelists from Rails routes and logs, or remove reported methods. The source excerpt is partial, so internal call links are limited to documented behavior and visible code.
Main entry points: debride.rb Candidate filtering · debride_rails_whitelist Rails whitelist CLI · debride Debride CLI · debride_rm Auto-removal CLI
Components 18
Analysis
- Option parsing
lib/debride.rb - Path expansion
lib/debride.rb - Ruby parser
lib/debride.rb - Method scan
lib/debride.rb - Rails rules
lib/debride.rb - Method sets
lib/debride.rb - Candidate filtering
lib/debride.rb - Whitelist file
lib/debride.rb - Text / JSON / YAML report
lib/debride.rb
CLI workflows
- Debride CLI
bin/debride
Whitelist and removal
- Auto-removal CLI
bin/debride_rm - Rails whitelist CLI
bin/debride_rails_whitelist - Parser plugins
lib/debride.rb
Other components
- Engineer
- Ruby files
- Rails routes
- Production logs
- Edited source
Connections 20
- Engineer → Debride CLI: runs
- Debride CLI → Option parsing: parses options
- Debride CLI → Path expansion: expands inputs
- Ruby files → Path expansion: supplies paths
- Path expansion → Ruby parser: selects files
- Ruby parser → Method scan: parses source
- Method scan → Rails rules: applies Rails rules
- Method scan → Method sets: records methods
- Rails rules → Method sets: records references
- Option parsing → Candidate filtering: provides options
- Method sets → Candidate filtering: supplies method data
- Whitelist file → Candidate filtering: exempts methods
- Candidate filtering → Text / JSON / YAML report: formats candidates
- Engineer → Auto-removal CLI: runs
- Auto-removal CLI → Ruby files: removes methods
- Engineer → Rails whitelist CLI: runs
- Rails routes → Rails whitelist CLI: provides routes
- Production logs → Rails whitelist CLI: provides usages
- Rails whitelist CLI → Whitelist file: generates whitelist
- Parser plugins → Ruby parser: extends parsing