Class: RailsAiContext::Introspectors::MultiDatabaseIntrospector
- Inherits:
-
Object
- Object
- RailsAiContext::Introspectors::MultiDatabaseIntrospector
- Extended by:
- StaticTier
- Defined in:
- lib/rails_ai_context/introspectors/multi_database_introspector.rb
Overview
Discovers multi-database configuration: multiple databases, replicas, sharding, and database-specific model assignments.
Constant Summary
Constants included from StaticTier
StaticTier::ALTERNATE_SOURCE, StaticTier::FILES_ONLY, StaticTier::KINDS, StaticTier::RUNTIME_ONLY
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
Instance Method Summary collapse
-
#call ⇒ Hash
Multi-database configuration.
-
#initialize(app) ⇒ MultiDatabaseIntrospector
constructor
A new instance of MultiDatabaseIntrospector.
Methods included from StaticTier
answers_statically?, static_tier, static_tier_declared?, unavailable_reason, validate_static_tier!
Constructor Details
#initialize(app) ⇒ MultiDatabaseIntrospector
Returns a new instance of MultiDatabaseIntrospector.
13 14 15 |
# File 'lib/rails_ai_context/introspectors/multi_database_introspector.rb', line 13 def initialize(app) @app = app end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
11 12 13 |
# File 'lib/rails_ai_context/introspectors/multi_database_introspector.rb', line 11 def app @app end |
Instance Method Details
#call ⇒ Hash
Returns multi-database configuration.
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rails_ai_context/introspectors/multi_database_introspector.rb', line 18 def call dbs = discover_databases { databases: dbs, replicas: discover_replicas, sharding: detect_sharding, model_connections: detect_model_connections, multi_db: dbs.size > 1 } rescue => e { error: e. } end |