Class: Diagrammer::ModelIntrospector

Inherits:
Object
  • Object
show all
Defined in:
lib/diagrammer/model_introspector.rb

Instance Method Summary collapse

Constructor Details

#initialize(models: nil) ⇒ ModelIntrospector

Returns a new instance of ModelIntrospector.



5
6
7
# File 'lib/diagrammer/model_introspector.rb', line 5

def initialize(models: nil)
  @models = models
end

Instance Method Details

#callObject



9
10
11
12
13
14
15
16
17
# File 'lib/diagrammer/model_introspector.rb', line 9

def call
  eager_load_rails_application

  models = selected_models.sort_by { |model| model.name.to_s }
  {
    tables: unique_tables(models),
    relationships: RelationshipMapper.new(models: models).call
  }
end