pi-lens
Version:
Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo
47 lines (37 loc) • 814 B
YAML
id: ruby-debugger
name: Debugger Call
severity: warning
category: debugging
defect_class: safety
inline_tier: blocking
language: ruby
message: "Debugger call '{{METHOD}}' — remove before committing"
description: |
Debugger calls pause execution and must never reach production.
✅ FIX: Remove the debugger call.
query: |
(call
receiver: (call
method: (identifier) @BINDING
(#eq? @BINDING "binding"))
method: (identifier) @METHOD
(#match? @METHOD "^(pry|irb|break)$"))
metavars:
- BINDING
- METHOD
has_fix: true
fix_action: remove
tags:
- debugging
- code-quality
examples:
bad: |
def process(data)
binding.pry # remove!
binding.irb # remove!
transform(data)
end
good: |
def process(data)
transform(data)
end