lagoon 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +39 -0
  3. data/CHANGELOG.md +14 -2
  4. data/README.md +111 -146
  5. data/Rakefile +17 -3
  6. data/exe/lagoon +3 -3
  7. data/gemfiles/adapters.gemfile +15 -0
  8. data/gemfiles/rails_6.1.gemfile +23 -0
  9. data/gemfiles/rails_7.0.gemfile +23 -0
  10. data/gemfiles/rails_7.1.gemfile +23 -0
  11. data/gemfiles/rails_7.2.gemfile +23 -0
  12. data/gemfiles/rails_8.0.gemfile +23 -0
  13. data/gemfiles/rails_8.1.gemfile +23 -0
  14. data/lib/lagoon/analyzer/action_controller_analyzer.rb +76 -0
  15. data/lib/lagoon/analyzer/active_record_analyzer.rb +202 -0
  16. data/lib/lagoon/analyzer/ast/controller_scope_collector.rb +104 -0
  17. data/lib/lagoon/analyzer/ast/method_reference_visitor.rb +170 -0
  18. data/lib/lagoon/analyzer/ast_model_reference_analyzer.rb +44 -0
  19. data/lib/lagoon/analyzer/database_schema_analyzer.rb +83 -0
  20. data/lib/lagoon/cli.rb +109 -80
  21. data/lib/lagoon/configuration.rb +42 -6
  22. data/lib/lagoon/diagram/base.rb +48 -8
  23. data/lib/lagoon/diagram/controller_diagram.rb +10 -16
  24. data/lib/lagoon/diagram/controller_model_diagram.rb +28 -0
  25. data/lib/lagoon/diagram/er_diagram.rb +10 -16
  26. data/lib/lagoon/diagram/model_diagram.rb +13 -16
  27. data/lib/lagoon/errors.rb +9 -0
  28. data/lib/lagoon/options.rb +182 -0
  29. data/lib/lagoon/parser/application_class_filter.rb +47 -0
  30. data/lib/lagoon/parser/controller_model_parser.rb +196 -0
  31. data/lib/lagoon/parser/controller_parser.rb +37 -54
  32. data/lib/lagoon/parser/model_parser.rb +57 -112
  33. data/lib/lagoon/parser/schema_parser.rb +120 -67
  34. data/lib/lagoon/railtie.rb +1 -1
  35. data/lib/lagoon/renderer/base_renderer.rb +49 -19
  36. data/lib/lagoon/renderer/class_diagram_renderer.rb +37 -31
  37. data/lib/lagoon/renderer/controller_model_er_renderer.rb +47 -0
  38. data/lib/lagoon/renderer/er_diagram_renderer.rb +43 -42
  39. data/lib/lagoon/result.rb +22 -0
  40. data/lib/lagoon/version.rb +1 -1
  41. data/lib/lagoon.rb +70 -21
  42. data/lib/tasks/lagoon.rake +15 -7
  43. data/sig/lagoon.rbs +107 -0
  44. metadata +57 -7
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lagoon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yudai Takada
@@ -15,14 +15,40 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '6.0'
18
+ version: '6.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9'
19
22
  type: :runtime
20
23
  prerelease: false
21
24
  version_requirements: !ruby/object:Gem::Requirement
22
25
  requirements:
23
26
  - - ">="
24
27
  - !ruby/object:Gem::Version
25
- version: '6.0'
28
+ version: '6.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9'
32
+ - !ruby/object:Gem::Dependency
33
+ name: prism
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '1.0'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '3'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '1.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '3'
26
52
  - !ruby/object:Gem::Dependency
27
53
  name: thor
28
54
  requirement: !ruby/object:Gem::Requirement
@@ -37,8 +63,8 @@ dependencies:
37
63
  - - "~>"
38
64
  - !ruby/object:Gem::Version
39
65
  version: '1.0'
40
- description: A Ruby gem that generates Mermaid class diagrams and ER diagrams from
41
- Rails applications, inspired by RailRoady
66
+ description: Generate Mermaid class and ER diagrams from Rails models, controllers,
67
+ and database metadata.
42
68
  email:
43
69
  - t.yudai92@gmail.com
44
70
  executables:
@@ -46,34 +72,58 @@ executables:
46
72
  extensions: []
47
73
  extra_rdoc_files: []
48
74
  files:
75
+ - Appraisals
49
76
  - CHANGELOG.md
50
77
  - LICENSE.txt
51
78
  - README.md
52
79
  - Rakefile
53
80
  - exe/lagoon
81
+ - gemfiles/adapters.gemfile
82
+ - gemfiles/rails_6.1.gemfile
83
+ - gemfiles/rails_7.0.gemfile
84
+ - gemfiles/rails_7.1.gemfile
85
+ - gemfiles/rails_7.2.gemfile
86
+ - gemfiles/rails_8.0.gemfile
87
+ - gemfiles/rails_8.1.gemfile
54
88
  - lib/lagoon.rb
89
+ - lib/lagoon/analyzer/action_controller_analyzer.rb
90
+ - lib/lagoon/analyzer/active_record_analyzer.rb
91
+ - lib/lagoon/analyzer/ast/controller_scope_collector.rb
92
+ - lib/lagoon/analyzer/ast/method_reference_visitor.rb
93
+ - lib/lagoon/analyzer/ast_model_reference_analyzer.rb
94
+ - lib/lagoon/analyzer/database_schema_analyzer.rb
55
95
  - lib/lagoon/cli.rb
56
96
  - lib/lagoon/configuration.rb
57
97
  - lib/lagoon/diagram/base.rb
58
98
  - lib/lagoon/diagram/controller_diagram.rb
99
+ - lib/lagoon/diagram/controller_model_diagram.rb
59
100
  - lib/lagoon/diagram/er_diagram.rb
60
101
  - lib/lagoon/diagram/model_diagram.rb
102
+ - lib/lagoon/errors.rb
103
+ - lib/lagoon/options.rb
104
+ - lib/lagoon/parser/application_class_filter.rb
105
+ - lib/lagoon/parser/controller_model_parser.rb
61
106
  - lib/lagoon/parser/controller_parser.rb
62
107
  - lib/lagoon/parser/model_parser.rb
63
108
  - lib/lagoon/parser/schema_parser.rb
64
109
  - lib/lagoon/railtie.rb
65
110
  - lib/lagoon/renderer/base_renderer.rb
66
111
  - lib/lagoon/renderer/class_diagram_renderer.rb
112
+ - lib/lagoon/renderer/controller_model_er_renderer.rb
67
113
  - lib/lagoon/renderer/er_diagram_renderer.rb
114
+ - lib/lagoon/result.rb
68
115
  - lib/lagoon/version.rb
69
116
  - lib/tasks/lagoon.rake
117
+ - sig/lagoon.rbs
70
118
  homepage: https://github.com/ydah/lagoon
71
119
  licenses:
72
120
  - MIT
73
121
  metadata:
74
- source_code_uri: https://github.com/ydah/lagoon
122
+ bug_tracker_uri: https://github.com/ydah/lagoon/issues
75
123
  changelog_uri: https://github.com/ydah/lagoon/blob/main/CHANGELOG.md
124
+ homepage_uri: https://github.com/ydah/lagoon
76
125
  rubygems_mfa_required: 'true'
126
+ source_code_uri: https://github.com/ydah/lagoon/tree/v0.2.0
77
127
  rdoc_options: []
78
128
  require_paths:
79
129
  - lib
@@ -88,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
138
  - !ruby/object:Gem::Version
89
139
  version: '0'
90
140
  requirements: []
91
- rubygems_version: 3.6.9
141
+ rubygems_version: 4.0.6
92
142
  specification_version: 4
93
143
  summary: Generate Mermaid diagrams from Rails models and controllers
94
144
  test_files: []