Class: RailsAiBridge::Doctor
- Inherits:
-
Object
- Object
- RailsAiBridge::Doctor
- Defined in:
- lib/rails_ai_bridge/doctor.rb,
lib/rails_ai_bridge/doctor/check.rb,
lib/rails_ai_bridge/doctor/checkers/base_checker.rb,
lib/rails_ai_bridge/doctor/checkers/gems_checker.rb,
lib/rails_ai_bridge/doctor/checkers/i18n_checker.rb,
lib/rails_ai_bridge/doctor/checkers/tests_checker.rb,
lib/rails_ai_bridge/doctor/checkers/views_checker.rb,
lib/rails_ai_bridge/doctor/checkers/models_checker.rb,
lib/rails_ai_bridge/doctor/checkers/routes_checker.rb,
lib/rails_ai_bridge/doctor/checkers/schema_checker.rb,
lib/rails_ai_bridge/doctor/checkers/ripgrep_checker.rb,
lib/rails_ai_bridge/doctor/checkers/migrations_checker.rb,
lib/rails_ai_bridge/doctor/checkers/controllers_checker.rb,
lib/rails_ai_bridge/doctor/checkers/context_files_checker.rb,
lib/rails_ai_bridge/doctor/checkers/mcp_buildable_checker.rb,
lib/rails_ai_bridge/doctor/checkers/view_mcp_tool_checker.rb,
lib/rails_ai_bridge/doctor/checkers/bridge_metadata_checker.rb,
lib/rails_ai_bridge/doctor/checkers/stimulus_mcp_tool_checker.rb
Overview
Diagnostic checker that validates the environment and reports AI readiness with pass/warn/fail checks and a readiness score.
Defined Under Namespace
Modules: Checkers Classes: Check
Constant Summary collapse
- CHECKS =
Maps stable check identifiers to checker classes. Each value must implement +.call+ on an instance and return a Check.
{ check_schema: Checkers::SchemaChecker, check_models: Checkers::ModelsChecker, check_routes: Checkers::RoutesChecker, check_gems: Checkers::GemsChecker, check_controllers: Checkers::ControllersChecker, check_views: Checkers::ViewsChecker, check_i18n: Checkers::I18nChecker, check_tests: Checkers::TestsChecker, check_migrations: Checkers::MigrationsChecker, check_context_files: Checkers::ContextFilesChecker, check_mcp_buildable: Checkers::McpBuildableChecker, check_ripgrep: Checkers::RipgrepChecker, check_view_mcp_tool: Checkers::ViewMcpToolChecker, check_stimulus_mcp_tool: Checkers::StimulusMcpToolChecker, check_bridge_metadata: Checkers::BridgeMetadataChecker }.freeze
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
-
#fix ⇒ String?
readonly
Suggested remediation when not +:pass+.
-
#message ⇒ String
readonly
Human-readable outcome.
-
#name ⇒ String
readonly
Short label shown in reports (e.g. "Schema").
-
#status ⇒ Symbol
readonly
+:pass+, +:warn+, or +:fail+.
Instance Method Summary collapse
- #initialize(app = nil) ⇒ void constructor
-
#run ⇒ Hash
Runs all diagnostic checks and computes a readiness score.
Constructor Details
#initialize(app = nil) ⇒ void
31 32 33 |
# File 'lib/rails_ai_bridge/doctor.rb', line 31 def initialize(app = nil) @app = app || Rails.application end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
27 28 29 |
# File 'lib/rails_ai_bridge/doctor.rb', line 27 def app @app end |
#fix ⇒ String? (readonly)
Returns suggested remediation when not +:pass+.
15 |
# File 'lib/rails_ai_bridge/doctor/check.rb', line 15 Check = Data.define(:name, :status, :message, :fix) |
#message ⇒ String (readonly)
Returns human-readable outcome.
15 |
# File 'lib/rails_ai_bridge/doctor/check.rb', line 15 Check = Data.define(:name, :status, :message, :fix) |
#name ⇒ String (readonly)
Returns short label shown in reports (e.g. "Schema").
15 |
# File 'lib/rails_ai_bridge/doctor/check.rb', line 15 Check = Data.define(:name, :status, :message, :fix) |
#status ⇒ Symbol (readonly)
Returns +:pass+, +:warn+, or +:fail+.
15 |
# File 'lib/rails_ai_bridge/doctor/check.rb', line 15 Check = Data.define(:name, :status, :message, :fix) |
Instance Method Details
#run ⇒ Hash
Runs all diagnostic checks and computes a readiness score.
38 39 40 41 42 |
# File 'lib/rails_ai_bridge/doctor.rb', line 38 def run results = CHECKS.values.map { |checker_class| checker_class.new(app).call } score = compute_score(results) { checks: results, score: score } end |