rails-mermaid_erd 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 890249c9517467adbf8e8f60828570108b66490354733153af33ffad6c1a3a2a
4
- data.tar.gz: 2e61e244f9eb1d32fec923e226185e49bc7901ea94e688312f6c7720b7656326
3
+ metadata.gz: 70e02f24014b859b87f976e91a1ac6c7d9a2abb55b645993fcdba7280b027d03
4
+ data.tar.gz: ba506228775db665a9637d11d0fdf1b8af14a3f7db80da610e54e36ec4ac77c1
5
5
  SHA512:
6
- metadata.gz: f152265387c8fd91bb99f64790dba988e0a09ab4bf05713456c0474f8ed89c447c084cf376bee33017c15734740c67c9add9d69edd56f660d3476bdd3cafcc9e
7
- data.tar.gz: 5239d5dfbeeab9b6a7c228e4d9bfdb55ffed194d9af11451c5407ddb6c7651ad4e9065e304417b0edaaaf978a39fd1d7bb6118244b2e72cc719419c5335cc088
6
+ metadata.gz: ccb7f93e4c2b7063cfe9d3ac394a5cb05268c956986616930356bba4a703f06e1b18da281ecc29f78f102444c5b26645c0cf6c109803b39279e02da3d11c6ac5
7
+ data.tar.gz: e35178ebb61084b313e1e3586732e45834b14a73d7b16af17dadfc6de8bed921f8c24ce3f58a22a6d412783efce02788c5c1b25ce8b4de0452b856e3273f6719
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
+ [English](./README.md) | [日本語](./README.ja.md)
2
+
1
3
  # Rails Mermaid ERD
2
4
 
5
+ [![test](https://github.com/koedame/rails-mermaid_erd/actions/workflows/run-test.yml/badge.svg)](https://github.com/koedame/rails-mermaid_erd/actions/workflows/run-test.yml)
6
+ [![Gem Version](https://badge.fury.io/rb/rails-mermaid_erd.svg)](https://rubygems.org/gems/rails-mermaid_erd)
7
+
3
8
  Generate [Mermaid ERD](https://mermaid-js.github.io/mermaid/#/entityRelationshipDiagram) from your Ruby on Rails application.
4
9
 
5
10
  [<img src="./docs/screen_shot.png" width="50%">](./docs/screen_shot.png)
@@ -48,6 +53,17 @@ If you share this file, it can be used by those who do not have Ruby on Rails en
48
53
 
49
54
  It would be very smart to generate it automatically using CI.
50
55
 
56
+ ## Configuration
57
+
58
+ `./config/mermaid_erd.yml` to customize the configuration.
59
+ See [./docs/example.yml](./docs/example.yml) for an example configuration.
60
+
61
+ The setting items are as follows.
62
+
63
+ | key | description | default |
64
+ | --- | --- | --- |
65
+ | `result_path` | Destination of generated files. | `mermaid_erd/index.html` |
66
+
51
67
  <!--
52
68
  TODO:
53
69
  ## Contributing
@@ -0,0 +1,21 @@
1
+ require "yaml"
2
+
3
+ module RailsMermaidErd
4
+ class Configuration
5
+ attr_accessor :result_path
6
+
7
+ def initialize
8
+ config = {
9
+ result_path: "mermaid_erd/index.html"
10
+ }
11
+
12
+ config_file = Rails.root.join("config/mermaid_erd.yml")
13
+ if File.exist?(config_file)
14
+ custom_config = YAML.load(config_file.read).symbolize_keys
15
+ config = config.merge(custom_config)
16
+ end
17
+
18
+ @result_path = config[:result_path]
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsMermaidErd
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -3,10 +3,17 @@ require "fileutils"
3
3
  require "rake"
4
4
  require "rake/dsl_definition"
5
5
  require_relative "rails-mermaid_erd/version"
6
+ require_relative "rails-mermaid_erd/configuration"
6
7
 
7
8
  module RailsMermaidErd
8
9
  extend Rake::DSL
9
10
 
11
+ class << self
12
+ def configuration
13
+ @configuration ||= RailsMermaidErd::Configuration.new
14
+ end
15
+ end
16
+
10
17
  desc "Generate Mermaid ERD."
11
18
  task mermaid_erd: :environment do
12
19
  result = {
@@ -194,9 +201,10 @@ module RailsMermaidErd
194
201
  erb = ERB.new(File.read(File.expand_path("./templates/index.html.erb", __dir__)))
195
202
  result_html = erb.result(binding)
196
203
 
197
- result_dir = Rails.root.join("./mermaid_erd")
198
- result_file = result_dir.join("./index.html")
204
+ result_dir = Rails.root.join(File.dirname(RailsMermaidErd.configuration.result_path))
199
205
  FileUtils.mkdir_p(result_dir)
206
+
207
+ result_file = Rails.root.join(RailsMermaidErd.configuration.result_path)
200
208
  File.write(result_file, result_html)
201
209
  end
202
210
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-mermaid_erd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 肥溜め
@@ -9,22 +9,78 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-10-08 00:00:00.000000000 Z
12
+ date: 2022-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: activerecord
15
+ name: rails
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.2'
20
+ version: '5.2'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '4.2'
27
+ version: '5.2'
28
+ - !ruby/object:Gem::Dependency
29
+ name: pg
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec-rails
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: standard
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: tzinfo-data
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
28
84
  description:
29
85
  email: []
30
86
  executables: []
@@ -36,6 +92,7 @@ files:
36
92
  - Rakefile
37
93
  - lib/assets/logo.svg
38
94
  - lib/rails-mermaid_erd.rb
95
+ - lib/rails-mermaid_erd/configuration.rb
39
96
  - lib/rails-mermaid_erd/version.rb
40
97
  - lib/templates/index.html.erb
41
98
  homepage: https://github.com/koedame/rails-mermaid_erd
@@ -43,6 +100,7 @@ licenses:
43
100
  - MIT
44
101
  metadata:
45
102
  homepage_uri: https://github.com/koedame/rails-mermaid_erd
103
+ source_code_uri: https://github.com/koedame/rails-mermaid_erd
46
104
  post_install_message:
47
105
  rdoc_options: []
48
106
  require_paths: