rails-mermaid_erd_markdown 0.2.0 → 0.3.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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS.md +1 -0
  3. data/.github/workflows/CI.yml +42 -0
  4. data/.github/workflows/codeql.yml +93 -0
  5. data/.rubocop.yml +30 -6
  6. data/.ruby-version +1 -0
  7. data/Gemfile +6 -9
  8. data/Gemfile.lock +77 -69
  9. data/README.md +36 -9
  10. data/Rakefile +1 -1
  11. data/bin/console +1 -1
  12. data/bin/rubocop +29 -0
  13. data/docs/examples/erd.yml +1 -1
  14. data/lib/rails-mermaid_erd_markdown/configuration.rb +11 -3
  15. data/lib/rails-mermaid_erd_markdown/generator.rb +169 -0
  16. data/lib/rails-mermaid_erd_markdown/markdown_document.rb +104 -0
  17. data/lib/rails-mermaid_erd_markdown/source_data.rb +63 -0
  18. data/lib/rails-mermaid_erd_markdown/version.rb +1 -1
  19. data/lib/rails-mermaid_erd_markdown.rb +3 -93
  20. data/rails-mermaid_erd_markdown.gemspec +5 -3
  21. data/test/example_output/mock_ERD.md +48 -0
  22. data/test/example_output/mock_ERD_index.md +10 -0
  23. data/test/example_output/mock_ERD_model.md +46 -0
  24. data/test/mock_data/models.rb +105 -0
  25. data/test/test_helper.rb +4 -2
  26. data/test/test_rails/rails-mermaid_erd_markdown/test_generator.rb +54 -0
  27. data/test/test_rails/rails-mermaid_erd_markdown/test_markdown_document.rb +76 -0
  28. data/test/test_rails/rails-mermaid_erd_markdown/test_source_data.rb +70 -0
  29. data/test/test_rails/test_rails-mermaid_erd_markdown.rb +0 -40
  30. metadata +19 -63
  31. data/test/dummy-rails/.dockerignore +0 -37
  32. data/test/dummy-rails/.ruby-version +0 -1
  33. data/test/dummy-rails/Rakefile +0 -6
  34. data/test/dummy-rails/app/assets/config/manifest.js +0 -4
  35. data/test/dummy-rails/app/assets/images/.keep +0 -0
  36. data/test/dummy-rails/app/assets/stylesheets/application.css +0 -15
  37. data/test/dummy-rails/app/channels/application_cable/channel.rb +0 -4
  38. data/test/dummy-rails/app/channels/application_cable/connection.rb +0 -4
  39. data/test/dummy-rails/app/controllers/application_controller.rb +0 -2
  40. data/test/dummy-rails/app/controllers/concerns/.keep +0 -0
  41. data/test/dummy-rails/app/helpers/application_helper.rb +0 -2
  42. data/test/dummy-rails/app/javascript/application.js +0 -3
  43. data/test/dummy-rails/app/javascript/controllers/application.js +0 -9
  44. data/test/dummy-rails/app/javascript/controllers/hello_controller.js +0 -7
  45. data/test/dummy-rails/app/javascript/controllers/index.js +0 -11
  46. data/test/dummy-rails/app/jobs/application_job.rb +0 -7
  47. data/test/dummy-rails/app/mailers/application_mailer.rb +0 -4
  48. data/test/dummy-rails/app/models/application_record.rb +0 -3
  49. data/test/dummy-rails/app/models/concerns/.keep +0 -0
  50. data/test/dummy-rails/app/views/layouts/application.html.erb +0 -16
  51. data/test/dummy-rails/app/views/layouts/mailer.html.erb +0 -13
  52. data/test/dummy-rails/app/views/layouts/mailer.text.erb +0 -1
  53. data/test/dummy-rails/bin/bundle +0 -114
  54. data/test/dummy-rails/bin/docker-entrypoint +0 -8
  55. data/test/dummy-rails/bin/importmap +0 -4
  56. data/test/dummy-rails/bin/rails +0 -4
  57. data/test/dummy-rails/bin/rake +0 -4
  58. data/test/dummy-rails/bin/setup +0 -33
  59. data/test/dummy-rails/config/application.rb +0 -27
  60. data/test/dummy-rails/config/boot.rb +0 -3
  61. data/test/dummy-rails/config/cable.yml +0 -10
  62. data/test/dummy-rails/config/credentials.yml.enc +0 -1
  63. data/test/dummy-rails/config/database.yml +0 -25
  64. data/test/dummy-rails/config/environment.rb +0 -5
  65. data/test/dummy-rails/config/environments/development.rb +0 -76
  66. data/test/dummy-rails/config/environments/production.rb +0 -97
  67. data/test/dummy-rails/config/environments/test.rb +0 -64
  68. data/test/dummy-rails/config/importmap.rb +0 -7
  69. data/test/dummy-rails/config/initializers/content_security_policy.rb +0 -25
  70. data/test/dummy-rails/config/initializers/filter_parameter_logging.rb +0 -8
  71. data/test/dummy-rails/config/initializers/inflections.rb +0 -16
  72. data/test/dummy-rails/config/initializers/permissions_policy.rb +0 -13
  73. data/test/dummy-rails/config/locales/en.yml +0 -31
  74. data/test/dummy-rails/config/puma.rb +0 -35
  75. data/test/dummy-rails/config/routes.rb +0 -10
  76. data/test/dummy-rails/config/storage.yml +0 -34
  77. data/test/dummy-rails/config.ru +0 -6
  78. data/test/dummy-rails/db/seeds.rb +0 -9
  79. data/test/dummy-rails/test/application_system_test_case.rb +0 -5
  80. data/test/dummy-rails/test/channels/application_cable/connection_test.rb +0 -13
  81. data/test/dummy-rails/test/controllers/.keep +0 -0
  82. data/test/dummy-rails/test/fixtures/files/.keep +0 -0
  83. data/test/dummy-rails/test/helpers/.keep +0 -0
  84. data/test/dummy-rails/test/integration/.keep +0 -0
  85. data/test/dummy-rails/test/mailers/.keep +0 -0
  86. data/test/dummy-rails/test/models/.keep +0 -0
  87. data/test/dummy-rails/test/system/.keep +0 -0
  88. data/test/dummy-rails/test/test_helper.rb +0 -15
  89. data/test/dummy-rails/vendor/.keep +0 -0
  90. data/test/dummy-rails/vendor/javascript/.keep +0 -0
  91. data/test/util/mock_ERD.md +0 -27
@@ -1,34 +0,0 @@
1
- test:
2
- service: Disk
3
- root: <%= Rails.root.join("tmp/storage") %>
4
-
5
- local:
6
- service: Disk
7
- root: <%= Rails.root.join("storage") %>
8
-
9
- # Use bin/rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
10
- # amazon:
11
- # service: S3
12
- # access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
13
- # secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
14
- # region: us-east-1
15
- # bucket: your_own_bucket-<%= Rails.env %>
16
-
17
- # Remember not to checkin your GCS keyfile to a repository
18
- # google:
19
- # service: GCS
20
- # project: your_project
21
- # credentials: <%= Rails.root.join("path/to/gcs.keyfile") %>
22
- # bucket: your_own_bucket-<%= Rails.env %>
23
-
24
- # Use bin/rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
25
- # microsoft:
26
- # service: AzureStorage
27
- # storage_account_name: your_account_name
28
- # storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>
29
- # container: your_container_name-<%= Rails.env %>
30
-
31
- # mirror:
32
- # service: Mirror
33
- # primary: local
34
- # mirrors: [ amazon, google, microsoft ]
@@ -1,6 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require_relative "config/environment"
4
-
5
- run Rails.application
6
- Rails.application.load_server
@@ -1,9 +0,0 @@
1
- # This file should ensure the existence of records required to run the application in every environment (production,
2
- # development, test). The code here should be idempotent so that it can be executed at any point in every environment.
3
- # The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
4
- #
5
- # Example:
6
- #
7
- # ["Action", "Comedy", "Drama", "Horror"].each do |genre_name|
8
- # MovieGenre.find_or_create_by!(name: genre_name)
9
- # end
@@ -1,5 +0,0 @@
1
- require "test_helper"
2
-
3
- class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
4
- driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
5
- end
@@ -1,13 +0,0 @@
1
- require "test_helper"
2
-
3
- module ApplicationCable
4
- class ConnectionTest < ActionCable::Connection::TestCase
5
- # test "connects with cookies" do
6
- # cookies.signed[:user_id] = 42
7
- #
8
- # connect
9
- #
10
- # assert_equal connection.user_id, "42"
11
- # end
12
- end
13
- end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,15 +0,0 @@
1
- ENV["RAILS_ENV"] ||= "test"
2
- require_relative "../config/environment"
3
- require "rails/test_help"
4
-
5
- module ActiveSupport
6
- class TestCase
7
- # Run tests in parallel with specified workers
8
- parallelize(workers: :number_of_processors)
9
-
10
- # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
11
- fixtures :all
12
-
13
- # Add more helper methods to be used by all tests here...
14
- end
15
- end
File without changes
File without changes
@@ -1,27 +0,0 @@
1
- ```mermaid
2
- erDiagram
3
- %% --------------------------------------------------------
4
- %% Entity-Relationship Diagram
5
- %% --------------------------------------------------------
6
-
7
- %% table name: articles
8
- Article{
9
- integer id PK
10
- string title
11
- text content
12
- datetime created_at
13
- datetime updated_at
14
- }
15
-
16
- %% table name: comments
17
- Comment{
18
- integer id PK
19
- string commenter
20
- text body
21
- integer article_id FK
22
- datetime created_at
23
- datetime updated_at
24
- }
25
-
26
- Comment }o--|| Article : "BT:article"
27
- ```