erd 0.3.3 → 0.4.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +7 -0
- data/README.rdoc +2 -2
- data/Rakefile +10 -6
- data/app/assets/stylesheets/erd/erd.css.scss +3 -3
- data/app/views/erd/erd/_model.html.erb +1 -1
- data/app/views/erd/erd/index.html.erb +2 -2
- data/erd.gemspec +1 -2
- data/lib/erd/generator_runner.rb +2 -0
- data/lib/erd/version.rb +1 -1
- data/{spec → test}/fake_app/db/migrate/20120428022519_create_authors.rb +0 -0
- data/{spec → test}/fake_app/db/migrate/20120428022535_create_books.rb +0 -0
- data/{spec → test}/fake_app/db/schema.rb +0 -0
- data/{spec → test}/fake_app/fake_app.rb +0 -0
- data/{spec → test}/fake_app/log/.gitignore +0 -0
- data/test/features/erd_test.rb +11 -0
- data/test/lib/migrator_test.rb +50 -0
- data/test/test_helper.rb +11 -0
- data/vendor/assets/images/erd/angle-left.png +0 -0
- data/vendor/assets/images/erd/angle-right.png +0 -0
- data/vendor/assets/images/erd/background.png +0 -0
- data/vendor/assets/images/erd/cancel.png +0 -0
- data/vendor/assets/images/erd/close.png +0 -0
- metadata +28 -37
- data/spec/features/erd_spec.rb +0 -11
- data/spec/lib/migrator_spec.rb +0 -45
- data/spec/spec_helper.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1312fbbdfb027c4ddf0da75c7e63beed30068e8
|
4
|
+
data.tar.gz: b3b6ad4ca6ef09e0f300eb13ed3e05fff9f1cbfc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bec98c793e0d4092627abd934d540606457bd3a72152d02ddea0bcd5cafc01e52d99470b490c19ac4d88f62c0fd71f23635ede0f1fb3e346336f66e6bcb30cd7
|
7
|
+
data.tar.gz: 26c6d775a0af3d217ebbe86db63140d8a3bb85d1d80f9da050c91c13b1e0f96c2d3aaef8363893d60edb542232f8864076793e4c6374cf6349061fc7c496c875
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/README.rdoc
CHANGED
@@ -5,7 +5,7 @@ A Rails engine for drawing your app's ER diagram and operating migrations
|
|
5
5
|
|
6
6
|
== Requirements
|
7
7
|
|
8
|
-
* Rails 4.0, 3.2, or 3.1
|
8
|
+
* Rails 5.0, 4.2, 4.1, 4.0, 3.2, or 3.1
|
9
9
|
|
10
10
|
* Graphviz
|
11
11
|
|
@@ -55,7 +55,7 @@ Browse at your http://localhost:3000/erd
|
|
55
55
|
* Send me your pull requests!
|
56
56
|
|
57
57
|
|
58
|
-
|
58
|
+
== Team
|
59
59
|
|
60
60
|
* {Akira Matsuda}[https://github.com/amatsuda]
|
61
61
|
* {Teppei Machida}[http://github.com/machida] (design)
|
data/Rakefile
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
-
require 'bundler
|
2
|
+
require 'bundler'
|
3
|
+
Bundler::GemHelper.install_tasks
|
3
4
|
|
4
|
-
require '
|
5
|
-
require 'rspec/core/rake_task'
|
5
|
+
require 'rake/testtask'
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
Rake::TestTask.new do |t|
|
8
|
+
t.libs << "test"
|
9
|
+
t.pattern = 'test/**/*_test.rb'
|
10
|
+
t.warning = true
|
11
|
+
t.verbose = true
|
12
|
+
end
|
9
13
|
|
10
|
-
|
14
|
+
task default: 'test'
|
@@ -168,7 +168,7 @@ li {
|
|
168
168
|
left: 8px;
|
169
169
|
top: 6px;
|
170
170
|
background: {
|
171
|
-
image: image_url(
|
171
|
+
image: image_url('erd/cancel.png');
|
172
172
|
size: 10px 10px;
|
173
173
|
position: center center;
|
174
174
|
};
|
@@ -323,7 +323,7 @@ li {
|
|
323
323
|
overflow: auto;
|
324
324
|
position: relative;
|
325
325
|
background-color: $background-color;
|
326
|
-
background-image:
|
326
|
+
background-image: image_url('erd/background.png');
|
327
327
|
form {
|
328
328
|
display: none;
|
329
329
|
}
|
@@ -586,4 +586,4 @@ li {
|
|
586
586
|
width: 160px;
|
587
587
|
padding: 2px 10px;
|
588
588
|
text-decoration: none;
|
589
|
-
}
|
589
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="erd-<%= model[:model] %>" class="model" style="top: <%= model[:y] %>px; left: <%= model[:x] %>px;" data-model_name="<%= model[:model] %>">
|
2
|
-
<a href="#!" class="close"><%= image_tag
|
2
|
+
<a href="#!" class="close"><%= image_tag("/assets/erd/close.png") %></a>
|
3
3
|
<div class="model_name">
|
4
4
|
<div class="model_name_text"><%= model[:model] %></div>
|
5
5
|
<form class="rename_model_form">
|
@@ -2,9 +2,9 @@
|
|
2
2
|
<div id="erd_container">
|
3
3
|
<%=raw @erd %>
|
4
4
|
</div>
|
5
|
-
<div id="open_migration"><%= image_tag
|
5
|
+
<div id="open_migration"><%= image_tag("/assets/erd/angle-left.png") %></div>
|
6
6
|
<div id="migration">
|
7
|
-
<div id="close_migration"><%= image_tag
|
7
|
+
<div id="close_migration"><%= image_tag("/assets/erd/angle-right.png") %></div>
|
8
8
|
<%- if flash[:executed_migrations].present? -%>
|
9
9
|
<div id="executed">
|
10
10
|
<h2>Successfully executed following <%= flash[:executed_migrations].values.flatten.count %> migrations!</h2>
|
data/erd.gemspec
CHANGED
@@ -20,9 +20,8 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.add_runtime_dependency 'nokogiri'
|
21
21
|
|
22
22
|
gem.add_development_dependency 'rails', '>= 3.2'
|
23
|
-
gem.add_development_dependency 'rspec-rails'
|
24
23
|
gem.add_development_dependency 'rake'
|
25
|
-
gem.add_development_dependency '
|
24
|
+
gem.add_development_dependency 'test-unit-rails'
|
26
25
|
gem.add_development_dependency 'capybara', '>= 2'
|
27
26
|
gem.add_development_dependency 'rr'
|
28
27
|
gem.add_development_dependency 'sqlite3'
|
data/lib/erd/generator_runner.rb
CHANGED
data/lib/erd/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class ErdIndexTest < ActionDispatch::IntegrationTest
|
4
|
+
test 'with author and book model' do
|
5
|
+
visit '/erd'
|
6
|
+
assert has_content? 'Author', minimum: 1
|
7
|
+
assert has_content? 'name'
|
8
|
+
assert has_content? 'Book'
|
9
|
+
assert has_content? 'title'
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class MigratorTest < ActiveSupport::TestCase
|
4
|
+
teardown do
|
5
|
+
Dir.glob(Rails.root.join('db/migrate/*.rb')).each do |f|
|
6
|
+
FileUtils.rm f unless File.basename(f).in? %w(20120428022519_create_authors.rb 20120428022535_create_books.rb)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
sub_test_case '.status' do
|
11
|
+
test 'when all migrations are up' do
|
12
|
+
assert_equal [{:status => 'up', :version => '20120428022519', :name => 'create_authors', :filename => '20120428022519_create_authors.rb'}, {:status => 'up', :version => '20120428022535', :name => 'create_books', :filename => '20120428022535_create_books.rb'}], Erd::Migrator.status
|
13
|
+
end
|
14
|
+
|
15
|
+
test 'when one is undone' do
|
16
|
+
FileUtils.touch Rails.root.join('db/migrate/20999999999999_create_foobars.rb')
|
17
|
+
|
18
|
+
assert_equal [{:status => 'up', :version => '20120428022519', :name => 'create_authors', :filename => '20120428022519_create_authors.rb'}, {:status => 'up', :version => '20120428022535', :name => 'create_books', :filename => '20120428022535_create_books.rb'}, {:status => 'down', :version => '20999999999999', :name => 'create_foobars', :filename => '20999999999999_create_foobars.rb'}], Erd::Migrator.status
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
sub_test_case '.run_migrations' do
|
23
|
+
setup do
|
24
|
+
FileUtils.touch Rails.root.join('db/migrate/20999999999999_create_foobars.rb')
|
25
|
+
mock(ActiveRecord::Migrator).run(:up, 'db/migrate', 20999999999999)
|
26
|
+
mock(ActiveRecord::SchemaDumper).dump(ActiveRecord::Base.connection, anything)
|
27
|
+
end
|
28
|
+
test 'runs migration by version number' do
|
29
|
+
Erd::Migrator.run_migrations(:up => ['20999999999999'])
|
30
|
+
end
|
31
|
+
test 'runs migration by migration filename' do
|
32
|
+
Erd::Migrator.run_migrations(:up => [Rails.root.join('db/migrate/20999999999999_create_foobars.rb')])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
class GenaratorRunnerTest < ActiveSupport::TestCase
|
38
|
+
setup do
|
39
|
+
stub.proxy(Time).now {|t| stub(t).utc { Time.new 2012, 5, 12, 13, 26 } }
|
40
|
+
end
|
41
|
+
teardown do
|
42
|
+
Dir.glob(Rails.root.join('db/migrate/*.rb')).each do |f|
|
43
|
+
FileUtils.rm f unless File.basename(f).in? %w(20120428022519_create_authors.rb 20120428022535_create_books.rb)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
test '.execute_generate_migration' do
|
48
|
+
assert_includes 'db/migrate/20120512132600_create_foobars.rb', Erd::GenaratorRunner.execute_generate_migration('create_foobars')
|
49
|
+
end
|
50
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
+
# load Rails first
|
4
|
+
require 'rails'
|
5
|
+
require 'erd'
|
6
|
+
require 'fake_app/fake_app'
|
7
|
+
require 'test/unit/rails/test_help'
|
8
|
+
Bundler.require
|
9
|
+
|
10
|
+
ActiveRecord::Migration.verbose = false
|
11
|
+
ActiveRecord::Migrator.migrate(ActiveRecord::Migrator.migrations_paths.map {|p| Rails.root.join p}, nil)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akira Matsuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails-erd
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.2'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rspec-rails
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: rake
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,7 +67,7 @@ dependencies:
|
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
70
|
+
name: test-unit-rails
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - ">="
|
@@ -144,6 +130,7 @@ extensions: []
|
|
144
130
|
extra_rdoc_files: []
|
145
131
|
files:
|
146
132
|
- ".gitignore"
|
133
|
+
- ".travis.yml"
|
147
134
|
- Gemfile
|
148
135
|
- MIT-LICENSE
|
149
136
|
- README.rdoc
|
@@ -168,16 +155,21 @@ files:
|
|
168
155
|
- lib/erd/migrator.rb
|
169
156
|
- lib/erd/railtie.rb
|
170
157
|
- lib/erd/version.rb
|
171
|
-
-
|
172
|
-
-
|
173
|
-
-
|
174
|
-
-
|
175
|
-
-
|
176
|
-
-
|
177
|
-
-
|
178
|
-
-
|
179
|
-
-
|
158
|
+
- test/fake_app/db/migrate/20120428022519_create_authors.rb
|
159
|
+
- test/fake_app/db/migrate/20120428022535_create_books.rb
|
160
|
+
- test/fake_app/db/schema.rb
|
161
|
+
- test/fake_app/fake_app.rb
|
162
|
+
- test/fake_app/log/.gitignore
|
163
|
+
- test/fake_app/tmp/.gitkeep
|
164
|
+
- test/features/erd_test.rb
|
165
|
+
- test/lib/migrator_test.rb
|
166
|
+
- test/test_helper.rb
|
167
|
+
- vendor/assets/images/erd/angle-left.png
|
168
|
+
- vendor/assets/images/erd/angle-right.png
|
180
169
|
- vendor/assets/images/erd/animated-overlay.gif
|
170
|
+
- vendor/assets/images/erd/background.png
|
171
|
+
- vendor/assets/images/erd/cancel.png
|
172
|
+
- vendor/assets/images/erd/close.png
|
181
173
|
- vendor/assets/images/erd/ui-bg_flat_0_aaaaaa_40x100.png
|
182
174
|
- vendor/assets/images/erd/ui-bg_flat_75_ffffff_40x100.png
|
183
175
|
- vendor/assets/images/erd/ui-bg_glass_55_fbf9ee_1x400.png
|
@@ -215,18 +207,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
207
|
version: '0'
|
216
208
|
requirements: []
|
217
209
|
rubyforge_project:
|
218
|
-
rubygems_version: 2.
|
210
|
+
rubygems_version: 2.6.2
|
219
211
|
signing_key:
|
220
212
|
specification_version: 4
|
221
213
|
summary: erd engine on Rails
|
222
214
|
test_files:
|
223
|
-
-
|
224
|
-
-
|
225
|
-
-
|
226
|
-
-
|
227
|
-
-
|
228
|
-
-
|
229
|
-
-
|
230
|
-
-
|
231
|
-
-
|
232
|
-
has_rdoc:
|
215
|
+
- test/fake_app/db/migrate/20120428022519_create_authors.rb
|
216
|
+
- test/fake_app/db/migrate/20120428022535_create_books.rb
|
217
|
+
- test/fake_app/db/schema.rb
|
218
|
+
- test/fake_app/fake_app.rb
|
219
|
+
- test/fake_app/log/.gitignore
|
220
|
+
- test/fake_app/tmp/.gitkeep
|
221
|
+
- test/features/erd_test.rb
|
222
|
+
- test/lib/migrator_test.rb
|
223
|
+
- test/test_helper.rb
|
data/spec/features/erd_spec.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
feature 'erd#index' do
|
4
|
-
scenario 'with author and book model' do
|
5
|
-
visit '/erd'
|
6
|
-
page.should have_content 'Author'
|
7
|
-
page.should have_content 'name'
|
8
|
-
page.should have_content 'Book'
|
9
|
-
page.should have_content 'title'
|
10
|
-
end
|
11
|
-
end
|
data/spec/lib/migrator_spec.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Erd::Migrator do
|
4
|
-
subject { Erd::Migrator }
|
5
|
-
after do
|
6
|
-
Dir.glob(Rails.root.join('db/migrate/*.rb')).each do |f|
|
7
|
-
FileUtils.rm f unless File.basename(f).in? %w(20120428022519_create_authors.rb 20120428022535_create_books.rb)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
describe '.status' do
|
11
|
-
context 'when all migrations are up' do
|
12
|
-
its(:status) { should == [{:status => 'up', :version => '20120428022519', :name => 'create_authors', :filename => '20120428022519_create_authors.rb'}, {:status => 'up', :version => '20120428022535', :name => 'create_books', :filename => '20120428022535_create_books.rb'}] }
|
13
|
-
end
|
14
|
-
|
15
|
-
context 'when one is undone' do
|
16
|
-
before do
|
17
|
-
FileUtils.touch Rails.root.join('db/migrate/20999999999999_create_foobars.rb')
|
18
|
-
end
|
19
|
-
its(:status) { should == [{:status => 'up', :version => '20120428022519', :name => 'create_authors', :filename => '20120428022519_create_authors.rb'}, {:status => 'up', :version => '20120428022535', :name => 'create_books', :filename => '20120428022535_create_books.rb'}, {:status => 'down', :version => '20999999999999', :name => 'create_foobars', :filename => '20999999999999_create_foobars.rb'}] }
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe '.run_migrations' do
|
24
|
-
before do
|
25
|
-
FileUtils.touch Rails.root.join('db/migrate/20999999999999_create_foobars.rb')
|
26
|
-
mock(ActiveRecord::Migrator).run(:up, 'db/migrate', 20999999999999)
|
27
|
-
mock(ActiveRecord::SchemaDumper).dump(ActiveRecord::Base.connection, anything)
|
28
|
-
end
|
29
|
-
it 'runs migration by version number' do
|
30
|
-
subject.run_migrations(:up => ['20999999999999'])
|
31
|
-
end
|
32
|
-
it 'runs migration by migration filename' do
|
33
|
-
subject.run_migrations(:up => [Rails.root.join('db/migrate/20999999999999_create_foobars.rb')])
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe '.execute_generate_migration' do
|
38
|
-
before do
|
39
|
-
stub.proxy(Time).now {|t| stub(t).utc { Time.new 2012, 5, 12, 13, 26 } }
|
40
|
-
end
|
41
|
-
specify do
|
42
|
-
subject.execute_generate_migration('create_foobars').should eq Rails.root.join('db/migrate', '20120512132600_create_foobars.rb').to_s
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
-
# load Rails first
|
4
|
-
require 'rails'
|
5
|
-
require 'erd'
|
6
|
-
# needs to load the app before loading rspec/rails => capybara
|
7
|
-
require 'fake_app/fake_app'
|
8
|
-
require 'rspec/rails'
|
9
|
-
# Requires supporting files with custom matchers and macros, etc,
|
10
|
-
# in ./support/ and its subdirectories.
|
11
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
12
|
-
|
13
|
-
RSpec.configure do |config|
|
14
|
-
config.mock_with :rr
|
15
|
-
config.before :all do
|
16
|
-
ActiveRecord::Migration.verbose = false
|
17
|
-
ActiveRecord::Migrator.migrate(ActiveRecord::Migrator.migrations_paths.map {|p| Rails.root.join p}, nil)
|
18
|
-
end
|
19
|
-
end
|