Module: Audition
- Defined in:
- lib/audition.rb,
lib/audition/cli.rb,
lib/audition/fixer.rb,
lib/audition/config.rb,
lib/audition/report.rb,
lib/audition/target.rb,
lib/audition/finding.rb,
lib/audition/version.rb,
lib/audition/baseline.rb,
lib/audition/rewriters.rb,
lib/audition/directives.rb,
lib/audition/bundle_sweep.rb,
lib/audition/static/checks.rb,
lib/audition/dynamic/prober.rb,
lib/audition/static/analyzer.rb,
lib/audition/static/checks/base.rb,
lib/audition/static/graph_audit.rb,
lib/audition/static/source_file.rb,
lib/audition/static/literal_classifier.rb,
lib/audition/static/checks/unsafe_calls.rb,
lib/audition/static/checks/runtime_require.rb,
lib/audition/static/checks/global_variables.rb,
lib/audition/static/checks/ractor_isolation.rb,
lib/audition/static/checks/mutable_constants.rb
Overview
Probes Ruby code for the ability to run inside Ractors: static analysis (Prism per-file checks plus whole-program rubydex graph checks), dynamic in-Ractor probing in subprocesses, explanations and fixes for every finding, and a four-state verdict.
The command line lives in CLI; library consumers usually start from Target.detect and Static::Analyzer.
Defined Under Namespace
Modules: Dynamic, Rewriters, Static Classes: Autofix, Baseline, BundleSweep, CLI, Config, Directives, Error, Finding, Fixer, Report, Target
Constant Summary collapse
- SEVERITIES =
Severity ranks, higher is worse. Meanings:
:error: will raiseRactor::IsolationError(or equivalent) if this code runs in a non-main Ractor:warning: raises depending on the value or usage (e.g. reading class-level ivars is fine for shareable values, fatal for mutable ones):info: works on Ruby 4.0+, but with caveats worth knowing
{error: 3, warning: 2, info: 1}.freeze
- VERSION =
"0.1.0"