Class: MermaidRailsErd::ParsedData

Inherits:
Object
  • Object
show all
Defined in:
lib/mermaid_rails_erd/parsed_data.rb

Overview

Class to hold parsed ERD data with delegation to model_data_collector Provides structured access to relationships, tables, and model data

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(relationships, tables, model_data_collector) ⇒ ParsedData

Initialize with collected ERD data

Parameters:

  • relationships (Array)

    Array of relationship objects

  • tables (Hash)

    Hash of table definitions keyed by table name

  • model_data_collector (ModelDataCollector)

    Collector instance with model data



13
14
15
16
17
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 13

def initialize(relationships, tables, model_data_collector)
  @relationships = relationships
  @tables = tables
  @model_data_collector = model_data_collector
end

Instance Attribute Details

#model_data_collectorObject (readonly)

Returns the value of attribute model_data_collector.



7
8
9
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 7

def model_data_collector
  @model_data_collector
end

#relationshipsObject (readonly)

Returns the value of attribute relationships.



7
8
9
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 7

def relationships
  @relationships
end

#tablesObject (readonly)

Returns the value of attribute tables.



7
8
9
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 7

def tables
  @tables
end

Instance Method Details

#invalid_associationsArray<Hash>

Returns Array of invalid associations with details.

Returns:

  • (Array<Hash>)

    Array of invalid associations with details



37
38
39
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 37

def invalid_associations
  model_data_collector.invalid_associations
end

#modelsArray

Returns Array of all loaded models.

Returns:

  • (Array)

    Array of all loaded models



32
33
34
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 32

def models
  model_data_collector.models
end

#models_dataHash

Returns Hash of model data keyed by model name.

Returns:

  • (Hash)

    Hash of model data keyed by model name



22
23
24
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 22

def models_data
  model_data_collector.models_data
end

#models_no_tablesArray

Returns Array of models without tables.

Returns:

  • (Array)

    Array of models without tables



27
28
29
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 27

def models_no_tables
  model_data_collector.models_no_tables
end

#polymorphic_associationsArray<Hash>

Returns Array of polymorphic associations.

Returns:

  • (Array<Hash>)

    Array of polymorphic associations



42
43
44
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 42

def polymorphic_associations
  model_data_collector.polymorphic_associations
end

#regular_associationsArray<Hash>

Returns Array of regular (non-polymorphic) associations.

Returns:

  • (Array<Hash>)

    Array of regular (non-polymorphic) associations



47
48
49
# File 'lib/mermaid_rails_erd/parsed_data.rb', line 47

def regular_associations
  model_data_collector.regular_associations
end