Class: RailsAiBridge::Introspectors::ModelIntrospector::AssociationExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/introspectors/model_introspector/association_extractor.rb

Overview

Extracts association metadata from an ActiveRecord model.

Analyzes ActiveRecord reflections to build a structural representation of the model's associations, including types, classes, foreign keys, and relevant options like polymorphism.

Defined Under Namespace

Classes: DetailBuilder

Instance Method Summary collapse

Constructor Details

#initialize(model) ⇒ AssociationExtractor

Returns a new instance of AssociationExtractor.

Parameters:

  • model (Class)

    ActiveRecord model class



52
53
54
# File 'lib/rails_ai_bridge/introspectors/model_introspector/association_extractor.rb', line 52

def initialize(model)
  @model = model
end

Instance Method Details

#callArray<Hash>

Returns array of association descriptors.

Returns:

  • (Array<Hash>)

    array of association descriptors



57
58
59
60
61
62
63
# File 'lib/rails_ai_bridge/introspectors/model_introspector/association_extractor.rb', line 57

def call
  model.reflect_on_all_associations.map do |assoc|
    DetailBuilder.new(assoc).build
  end
rescue StandardError
  []
end