Class: Ask::Rails::Harness::Tools::SchemaGraph
- Inherits:
-
Ask::Rails::Harness::Tool
- Object
- Tool
- Ask::Rails::Harness::Tool
- Ask::Rails::Harness::Tools::SchemaGraph
- Defined in:
- lib/ask/rails/harness/tools/schema_graph.rb
Constant Summary collapse
- TABLE_EXCLUSIONS =
%w[schema_migrations ar_internal_metadata].freeze
Instance Method Summary collapse
Methods inherited from Ask::Rails::Harness::Tool
#call, #rails_root, session_id, session_id=
Instance Method Details
#execute(detail: "all") ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ask/rails/harness/tools/schema_graph.rb', line 17 def execute(detail: "all") models = discover_ar_models result = { summary: { model_count: models.size, table_count: models.map { |m| m.table_name }.uniq.size, association_count: models.sum { |m| m.reflect_on_all_associations.size } }, models: %w[all models].include?(detail) ? build_model_details(models, detail) : nil, associations: %w[all associations].include?(detail) ? build_association_graph(models) : nil, tables: %w[all tables].include?(detail) ? build_table_details(detail) : nil } result end |