yml2erd 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 819409f55a463c90f71fe700c5376d85f4006510
4
+ data.tar.gz: a1c757ac6a9a2f009b8ea2f5a0e6e8d0d55906a6
5
+ SHA512:
6
+ metadata.gz: 68520b7dcc1eac6ea39c506aa5498d512e38403db5cce9a2952982e06925f7cb416d116a47ee130c826877cd14835afe96dc1052871721665f4f3339e4f24180
7
+ data.tar.gz: 211d20578c42f29c4fdf9f3a6693c88bb0f1aeb43f0f67d65edf5e8297cb7a7f165590fc4d4e0dceb27dc3c0c142ea1be8cb1d19582c5b457bf64c5a64fee667
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ output.*
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.3.1
5
+ sudo: required
6
+ before_install:
7
+ - sudo apt-get install graphviz
8
+ - gem install bundler -v 1.13.1
9
+ install: bundle install
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in yml2erd.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,70 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ # Note: The cmd option is now required due to the increasing number of ways
19
+ # rspec may be run, below are examples of the most common uses.
20
+ # * bundler: 'bundle exec rspec'
21
+ # * bundler binstubs: 'bin/rspec'
22
+ # * spring: 'bin/rspec' (This will use spring if running and you have
23
+ # installed the spring binstubs per the docs)
24
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
25
+ # * 'just' rspec: 'rspec'
26
+
27
+ guard :rspec, cmd: "bundle exec rspec" do
28
+ require "guard/rspec/dsl"
29
+ dsl = Guard::RSpec::Dsl.new(self)
30
+
31
+ # Feel free to open issues for suggestions and improvements
32
+
33
+ # RSpec files
34
+ rspec = dsl.rspec
35
+ watch(rspec.spec_helper) { rspec.spec_dir }
36
+ watch(rspec.spec_support) { rspec.spec_dir }
37
+ watch(rspec.spec_files)
38
+
39
+ # Ruby files
40
+ ruby = dsl.ruby
41
+ dsl.watch_spec_files_for(ruby.lib_files)
42
+
43
+ # Rails files
44
+ rails = dsl.rails(view_extensions: %w(erb haml slim))
45
+ dsl.watch_spec_files_for(rails.app_files)
46
+ dsl.watch_spec_files_for(rails.views)
47
+
48
+ watch(rails.controllers) do |m|
49
+ [
50
+ rspec.spec.call("routing/#{m[1]}_routing"),
51
+ rspec.spec.call("controllers/#{m[1]}_controller"),
52
+ rspec.spec.call("acceptance/#{m[1]}")
53
+ ]
54
+ end
55
+
56
+ # Rails config changes
57
+ watch(rails.spec_helper) { rspec.spec_dir }
58
+ watch(rails.routes) { "#{rspec.spec_dir}/routing" }
59
+ watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" }
60
+
61
+ # Capybara features specs
62
+ watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") }
63
+ watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") }
64
+
65
+ # Turnip features and steps
66
+ watch(%r{^spec/acceptance/(.+)\.feature$})
67
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
68
+ Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance"
69
+ end
70
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 asmsuechan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,78 @@
1
+ # Yml2erd
2
+ [![Build Status](https://travis-ci.org/asmsuechan/yml2erd.svg?branch=master)](https://travis-ci.org/asmsuechan/yml2erd)
3
+
4
+ yml2erd allows us to generate erd easily.
5
+
6
+ ![output_image](https://raw.githubusercontent.com/asmsuechan/asmsuechan.github.io/master/images/image.png)
7
+
8
+ When I consider database structure, I wanted erd generator. However there are no tools to fit. So I created.
9
+
10
+ ## Installation
11
+ Before install this gem, you need to install graphviz.
12
+
13
+ ```
14
+ $ brew install graphviz
15
+ ```
16
+
17
+ You can get more from [here](http://www.graphviz.org/Download..php)
18
+
19
+ Add this line to your application's Gemfile:
20
+
21
+ ```ruby
22
+ gem 'yml2erd'
23
+ ```
24
+
25
+ And then execute:
26
+
27
+ $ bundle
28
+
29
+ Or install it yourself as:
30
+
31
+ $ gem install yml2erd
32
+
33
+ ## Usage
34
+ Run this,
35
+ ```
36
+ $ yml2erd convert structure.yml
37
+ ```
38
+ and we get output.png.
39
+
40
+ ```
41
+ $ yml2erd help convert
42
+ Usage:
43
+ yml2erd convert <path>
44
+
45
+ Options:
46
+ o, [--output=FILE_PATH] # default: output.png
47
+ p, [--projectname=PROJECT_NAME]
48
+ s, [--outputstyle=OUTPUT_STYLE] # svg or png, default: png
49
+
50
+ Convert erd from yml
51
+ ```
52
+
53
+ ## Rule
54
+ You must write yml just like below
55
+
56
+ ```
57
+ <table_name>:
58
+ columns:
59
+ - <column_name>: <column_type>
60
+ relations:
61
+ belongs_to:
62
+ - <table_name>
63
+ has_many:
64
+ - <table_name>
65
+ index:
66
+ - <column_name>
67
+ ```
68
+
69
+ belongs_to or has_many is not necessary.
70
+
71
+ ## Contributing
72
+
73
+ Bug reports and pull requests are welcome on GitHub at https://github.com/asmsuechan/yml2erd.
74
+
75
+
76
+ ## License
77
+
78
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "yml2erd"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/bin/yml2erd ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'yml2erd'
4
+ Yml2erd::CLI.start
@@ -0,0 +1,22 @@
1
+ require "yml2erd/parser"
2
+ require "yml2erd/diagram"
3
+ require "thor"
4
+
5
+ module Yml2erd
6
+ class CLI < Thor
7
+ desc "convert <path>", "Convert erd from yml"
8
+ option :output, aliases: :o, banner: 'FILE_PATH', desc: 'default: output.png'
9
+ option :projectname, aliases: :p, banner: 'PROJECT_NAME', desc: 'default: null'
10
+ option :outputstyle, aliases: :s, banner: 'OUTPUT_STYLE', desc: 'svg or png, default: png'
11
+ def convert(path)
12
+ schema_structure = Yml2erd::Parser.parse(path)
13
+ opts = {
14
+ output_path: options[:output_path],
15
+ project_name: options[:projectname],
16
+ output_style: options[:outputstyle]
17
+ }
18
+ Yml2erd::Diagram.create(schema_structure, opts)
19
+ puts 'Successfully converted!'
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,54 @@
1
+ require "graphviz"
2
+
3
+ module Yml2erd
4
+ class Diagram
5
+ class << self
6
+ DEFAULT_OPTIONS = { output_path: './output.png' }.freeze
7
+
8
+ def table_relations(schema_structure)
9
+ schema_structure.relations
10
+ end
11
+
12
+ def create(schema_structure, opts = {})
13
+ opts = opts.merge(DEFAULT_OPTIONS)
14
+ GraphViz::options(use: 'dot')
15
+ g = GraphViz::new('structs', label: opts[:project_name])
16
+
17
+ table_names = schema_structure.table_names
18
+
19
+ table_names.each do |table_name|
20
+ columns = ''
21
+ schema_structure.columns(table_name).each do |column|
22
+ column.each { |key, value| columns += "#{key}: <FONT color='gray'>#{value}</FONT><BR/>" }
23
+ end
24
+
25
+ index = schema_structure.index(table_name)
26
+ label = build_label(table_name, columns, index)
27
+ g.add_nodes(table_name, shape: "record", label: label, style: "rounded")
28
+ end
29
+
30
+ table_names.each do |table_name|
31
+ unless schema_structure.relation(table_name)['belongs_to'].nil?
32
+ schema_structure.relation(table_name)['belongs_to'].each do |belongs_to|
33
+ g.add_edges(belongs_to, table_name)
34
+ end
35
+ end
36
+ end
37
+
38
+ if opts[:output_style] == 'svg'
39
+ g.output(:svg=> opts[:output_path] + '.svg')
40
+ else
41
+ g.output(:png => opts[:output_path])
42
+ end
43
+ end
44
+
45
+ def build_label(table_name, columns, index)
46
+ if index
47
+ "<{<FONT POINT-SIZE='15'>#{table_name}</FONT> | #{columns} | indexed: #{index.to_s}}>"
48
+ else
49
+ "<{<FONT POINT-SIZE='15'>#{table_name}</FONT> | #{columns}}>"
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,17 @@
1
+ require 'yml2erd/schema_structure'
2
+ require 'yml2erd/schema_structure/validator'
3
+ require 'yaml'
4
+
5
+ module Yml2erd
6
+ class Parser
7
+ class << self
8
+ # returns an object of Yml2erd::SchemaStructure
9
+ def parse(path)
10
+ yml = YAML.load_file(path)
11
+ ss = Yml2erd::SchemaStructure.new(yml)
12
+ Yml2erd::SchemaStructure::Validator.new(ss).validate
13
+ ss
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,62 @@
1
+ module Yml2erd
2
+ class SchemaStructure
3
+ class Validator
4
+ RELATIONS_KEY = %w(belongs_to has_many)
5
+
6
+ class InvalidKeyNameError < StandardError;end
7
+ class InvalidYmlStructureError < StandardError;end
8
+
9
+ attr_reader :ss
10
+
11
+ def initialize(schema_structure)
12
+ @ss = schema_structure
13
+ end
14
+
15
+ def validate
16
+ # relations
17
+ columns
18
+ keyname
19
+ end
20
+
21
+ private
22
+
23
+ # check to match or not a table name among relations
24
+ def relations
25
+ raise InvalidYmlStructureError
26
+ end
27
+
28
+ # columns must be an array
29
+ def columns
30
+ ss.table_names.each do |table_name|
31
+ raise InvalidYmlStructureError, 'columns must be an array' unless ss.columns(table_name).class == Array
32
+ end
33
+ end
34
+
35
+ # yml structure is just like below
36
+ # ```
37
+ # <table_name>:
38
+ # columns:
39
+ # - <column_name>: <column_type>
40
+ # relations:
41
+ # belongs_to:
42
+ # - <table_name>
43
+ # has_many:
44
+ # - <table_name>
45
+ # index:
46
+ # - <column_name>
47
+ # ```
48
+ # belongs_to or has_many is not necessary
49
+ def keyname
50
+ ss.table_names.each do |table_name|
51
+ if correct_relation_key?(table_name) && ss.columns(table_name).nil? && ss.relation(table_name).nil?
52
+ raise InvalidKeyNameError, 'you must use correct keyname'
53
+ end
54
+ end
55
+ end
56
+
57
+ def correct_relation_key?(table_name)
58
+ ss.relation(table_name).keys.map { |key| RELATIONS_KEY.include?(key) }.all?
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,46 @@
1
+ module Yml2erd
2
+ class SchemaStructure
3
+
4
+ attr_accessor :structure_yml, :table_names
5
+
6
+ def initialize(yml)
7
+ @structure_yml = yml
8
+ @table_names = table_names
9
+ end
10
+
11
+ # returns an array which has table_names like bellow
12
+ # => ["users", "user_auths", "posts", "companies"]
13
+ def table_names
14
+ structure_yml.to_a.map { |s| s.first }
15
+ end
16
+
17
+ # returns a hash like below
18
+ # { users: { belongs_to: ['user_auths', 'companies'], has_many: ['posts'] } }
19
+ def relation(table_name)
20
+ relations = structure_yml[table_name]['relations']
21
+ # { table_name.to_sym => relations }
22
+ end
23
+
24
+ def relations
25
+ table_names.map { |table_name| relation(table_name) }
26
+ end
27
+
28
+ # returns a hash like below
29
+ # => {"columns"=>[{"name"=>"string"}, {"email"=>"string"}], "relations"=>{"belongs_to"=>["user_auths", "companies"], "has_many"=>["posts"]}}
30
+ def table(table_name)
31
+ structure_yml[table_name]
32
+ end
33
+
34
+ # returns an array like below
35
+ # => [{"name"=>"string"}, {"email"=>"string"}]
36
+ def columns(table_name)
37
+ structure_yml[table_name]['columns']
38
+ end
39
+
40
+ # returns an array like below
41
+ # => ["email"]
42
+ def index(table_name)
43
+ structure_yml[table_name]['index']
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,3 @@
1
+ module Yml2erd
2
+ VERSION = "0.9.0"
3
+ end
data/lib/yml2erd.rb ADDED
@@ -0,0 +1,8 @@
1
+ # require "yml2erd/version"
2
+ # require "yml2erd/analyzer"
3
+ # require "yml2erd/converter"
4
+ require "yml2erd/cli"
5
+
6
+ module Yml2erd
7
+ # Your code goes here...
8
+ end
data/sample.yml ADDED
@@ -0,0 +1,30 @@
1
+ users:
2
+ columns:
3
+ - name: string
4
+ - email: string
5
+ relations:
6
+ belongs_to:
7
+ - user_auths
8
+ - companies
9
+ has_many:
10
+ - posts
11
+ index:
12
+ - email
13
+ user_auths:
14
+ columns:
15
+ - password: string
16
+ relations:
17
+ has_many:
18
+ - users
19
+ posts:
20
+ columns:
21
+ - content: text
22
+ relations:
23
+ belongs_to:
24
+ - users
25
+ companies:
26
+ columns:
27
+ - name: string
28
+ - address: string
29
+ relations:
30
+ has_many: users
@@ -0,0 +1,19 @@
1
+ invalid_columns_style:
2
+ columns:
3
+ name: string
4
+ email: string
5
+ relations:
6
+ invalid_relation_key:
7
+ columns:
8
+ - name: string
9
+ - email: string
10
+ relations:
11
+ invalid_key:
12
+ - child
13
+ child:
14
+ columns:
15
+ - name: string
16
+ - email: string
17
+ relations:
18
+ belongs_to:
19
+ - invalid_relation_key
data/yml2erd.gemspec ADDED
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'yml2erd/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "yml2erd"
8
+ spec.version = Yml2erd::VERSION
9
+ spec.authors = ["asmsuechan"]
10
+ spec.email = ["suenagaryoutaabc@gmail.com"]
11
+
12
+ spec.summary = %q{This gem allows us to generate erd easily.}
13
+ spec.description = %q{Convert simple yml to erd}
14
+ spec.homepage = "https://github.com/asmsuechan/yml2erd"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ["lib"]
23
+
24
+ spec.add_dependency "ruby-graphviz"
25
+ spec.add_dependency "thor"
26
+
27
+ spec.add_development_dependency "bundler", "~> 1.13"
28
+ spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "rspec", "~> 3.0"
30
+ spec.add_development_dependency "guard-rspec"
31
+ spec.add_development_dependency "pry"
32
+ spec.add_development_dependency "pry-doc"
33
+ spec.add_development_dependency "pry-byebug"
34
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yml2erd
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - asmsuechan
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-12-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ruby-graphviz
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.13'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.13'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-doc
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry-byebug
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: Convert simple yml to erd
140
+ email:
141
+ - suenagaryoutaabc@gmail.com
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - ".gitignore"
147
+ - ".rspec"
148
+ - ".travis.yml"
149
+ - Gemfile
150
+ - Guardfile
151
+ - LICENSE.txt
152
+ - README.md
153
+ - Rakefile
154
+ - bin/console
155
+ - bin/setup
156
+ - bin/yml2erd
157
+ - lib/yml2erd.rb
158
+ - lib/yml2erd/cli.rb
159
+ - lib/yml2erd/diagram.rb
160
+ - lib/yml2erd/parser.rb
161
+ - lib/yml2erd/schema_structure.rb
162
+ - lib/yml2erd/schema_structure/validator.rb
163
+ - lib/yml2erd/version.rb
164
+ - sample.yml
165
+ - sample_abnormal.yml
166
+ - yml2erd.gemspec
167
+ homepage: https://github.com/asmsuechan/yml2erd
168
+ licenses:
169
+ - MIT
170
+ metadata: {}
171
+ post_install_message:
172
+ rdoc_options: []
173
+ require_paths:
174
+ - lib
175
+ required_ruby_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ requirements: []
186
+ rubyforge_project:
187
+ rubygems_version: 2.5.1
188
+ signing_key:
189
+ specification_version: 4
190
+ summary: This gem allows us to generate erd easily.
191
+ test_files: []