Class: MermaidRailsErd::RelationshipBuilders::BaseRelationshipBuilder
- Inherits:
-
Object
- Object
- MermaidRailsErd::RelationshipBuilders::BaseRelationshipBuilder
- Defined in:
- lib/mermaid_rails_erd/relationship_builders/base_relationship_builder.rb
Direct Known Subclasses
BelongsToRelationshipBuilder, HasAndBelongsToManyRelationshipBuilder, HasManyRelationshipBuilder, HasOneRelationshipBuilder
Constant Summary collapse
- @@one_to_one_keys =
Class variable to track one-to-one relationships across builder instances
Set.new
Instance Attribute Summary collapse
-
#association_resolver ⇒ Object
readonly
Returns the value of attribute association_resolver.
-
#model_data_collector ⇒ Object
readonly
Returns the value of attribute model_data_collector.
-
#symbol_mapper ⇒ Object
readonly
Returns the value of attribute symbol_mapper.
Instance Method Summary collapse
- #build(model, assoc) ⇒ Object
-
#initialize(symbol_mapper:, association_resolver:, model_data_collector: nil) ⇒ BaseRelationshipBuilder
constructor
A new instance of BaseRelationshipBuilder.
Constructor Details
#initialize(symbol_mapper:, association_resolver:, model_data_collector: nil) ⇒ BaseRelationshipBuilder
Returns a new instance of BaseRelationshipBuilder.
14 15 16 17 18 |
# File 'lib/mermaid_rails_erd/relationship_builders/base_relationship_builder.rb', line 14 def initialize(symbol_mapper:, association_resolver:, model_data_collector: nil) @symbol_mapper = symbol_mapper @association_resolver = association_resolver @model_data_collector = model_data_collector end |
Instance Attribute Details
#association_resolver ⇒ Object (readonly)
Returns the value of attribute association_resolver.
9 10 11 |
# File 'lib/mermaid_rails_erd/relationship_builders/base_relationship_builder.rb', line 9 def association_resolver @association_resolver end |
#model_data_collector ⇒ Object (readonly)
Returns the value of attribute model_data_collector.
9 10 11 |
# File 'lib/mermaid_rails_erd/relationship_builders/base_relationship_builder.rb', line 9 def model_data_collector @model_data_collector end |
#symbol_mapper ⇒ Object (readonly)
Returns the value of attribute symbol_mapper.
9 10 11 |
# File 'lib/mermaid_rails_erd/relationship_builders/base_relationship_builder.rb', line 9 def symbol_mapper @symbol_mapper end |
Instance Method Details
#build(model, assoc) ⇒ Object
20 21 22 |
# File 'lib/mermaid_rails_erd/relationship_builders/base_relationship_builder.rb', line 20 def build(model, assoc) raise NotImplementedError, "Subclasses must implement #build" end |