yml2erd 0.9.4 → 0.9.5
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.
- checksums.yaml +4 -4
- data/lib/yml2erd/cli.rb +19 -1
- data/lib/yml2erd/parser.rb +1 -3
- data/lib/yml2erd/version.rb +1 -1
- data/yml2erd.gemspec +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 166d9aea0ea8799713fb3f89d965fadc65824a26
|
|
4
|
+
data.tar.gz: a9937380ca26d72580e232a0c8f276519967251b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 64b352491096eb2d9d7ecf35a6d0de6513924354a6225e5543117dbdc92965bd485e42451da73b57e1c62546fc46dd721e649a71af8f031d5a1e9011982a83cd
|
|
7
|
+
data.tar.gz: 47a40a5f02ebea24d73ac2e0e7edfc80d0a86b186c459bf5d25e813b0c33efdc94a0b36f73987963ae47df3ad95dafb530132156481b526c84406bd1b493c4f3
|
data/lib/yml2erd/cli.rb
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
require "yml2erd/parser"
|
|
2
2
|
require "yml2erd/diagram"
|
|
3
3
|
require "thor"
|
|
4
|
+
require "yaml"
|
|
4
5
|
|
|
5
6
|
module Yml2erd
|
|
6
7
|
class CLI < Thor
|
|
8
|
+
class YmlNotFoundError < StandardError;end
|
|
9
|
+
|
|
7
10
|
desc "convert <path>", "Convert erd from yml"
|
|
8
11
|
option :output, aliases: :o, banner: 'FILE_PATH', desc: 'default: output.png'
|
|
9
12
|
option :projectname, aliases: :p, banner: 'PROJECT_NAME', desc: 'default: null'
|
|
10
13
|
option :outputstyle, aliases: :s, banner: 'OUTPUT_STYLE', desc: 'svg or png, default: png'
|
|
11
14
|
def convert(path)
|
|
12
|
-
|
|
15
|
+
abort_if_graphviz_isnt_installed
|
|
16
|
+
schema_structure = load_yml(path)
|
|
13
17
|
opts = {
|
|
14
18
|
output_path: options[:output_path],
|
|
15
19
|
project_name: options[:projectname],
|
|
@@ -18,5 +22,19 @@ module Yml2erd
|
|
|
18
22
|
Yml2erd::Diagram.create(schema_structure, opts)
|
|
19
23
|
puts 'Successfully converted!'
|
|
20
24
|
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
def load_yml(path)
|
|
29
|
+
abort "#{path} is not found, please check your .yml file path" unless File.exists?(path)
|
|
30
|
+
yml = YAML.load_file(path)
|
|
31
|
+
Yml2erd::Parser.parse(yml)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# This method has a bug around `which gvpr`.
|
|
35
|
+
# That is because which may not exist in except UNIX based OS.
|
|
36
|
+
def abort_if_graphviz_isnt_installed
|
|
37
|
+
abort "GraphViz is not installed, please install graphviz from http://www.graphviz.org/Download..php \n\nOr you can get by\n $ brew install graphviz # on macOS\n $ apt-get install graphviz # on Ubuntu" unless !`which gvpr`.empty?
|
|
38
|
+
end
|
|
21
39
|
end
|
|
22
40
|
end
|
data/lib/yml2erd/parser.rb
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
require 'yml2erd/schema_structure'
|
|
2
2
|
require 'yml2erd/schema_structure/validator'
|
|
3
|
-
require 'yaml'
|
|
4
3
|
|
|
5
4
|
module Yml2erd
|
|
6
5
|
class Parser
|
|
7
6
|
class << self
|
|
8
7
|
# returns an object of Yml2erd::SchemaStructure
|
|
9
|
-
def parse(
|
|
10
|
-
yml = YAML.load_file(path)
|
|
8
|
+
def parse(yml)
|
|
11
9
|
ss = Yml2erd::SchemaStructure.new(yml)
|
|
12
10
|
Yml2erd::SchemaStructure::Validator.new(ss).validate
|
|
13
11
|
ss
|
data/lib/yml2erd/version.rb
CHANGED
data/yml2erd.gemspec
CHANGED
|
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
|
9
9
|
spec.authors = ["asmsuechan"]
|
|
10
10
|
spec.email = ["suenagaryoutaabc@gmail.com"]
|
|
11
11
|
|
|
12
|
-
spec.summary = %q{This gem allows us to generate erd easily.}
|
|
13
|
-
spec.description = %q{Convert simple yml
|
|
12
|
+
spec.summary = %q{This gem allows us to generate an erd easily.}
|
|
13
|
+
spec.description = %q{Convert erd from a simple yml}
|
|
14
14
|
spec.homepage = "https://github.com/asmsuechan/yml2erd"
|
|
15
15
|
spec.license = "MIT"
|
|
16
16
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yml2erd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
4
|
+
version: 0.9.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- asmsuechan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-12-
|
|
11
|
+
date: 2016-12-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ruby-graphviz
|
|
@@ -136,7 +136,7 @@ dependencies:
|
|
|
136
136
|
- - ">="
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: '0'
|
|
139
|
-
description: Convert simple yml
|
|
139
|
+
description: Convert erd from a simple yml
|
|
140
140
|
email:
|
|
141
141
|
- suenagaryoutaabc@gmail.com
|
|
142
142
|
executables:
|
|
@@ -189,5 +189,5 @@ rubyforge_project:
|
|
|
189
189
|
rubygems_version: 2.5.1
|
|
190
190
|
signing_key:
|
|
191
191
|
specification_version: 4
|
|
192
|
-
summary: This gem allows us to generate erd easily.
|
|
192
|
+
summary: This gem allows us to generate an erd easily.
|
|
193
193
|
test_files: []
|