erd 0.8.0 → 0.8.1
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/README.md +1 -1
- data/app/controllers/erd/erd_controller.rb +2 -2
- data/app/views/layouts/erd/application.html.erb +1 -1
- data/erd.gemspec +3 -3
- data/lib/erd/version.rb +1 -1
- metadata +4 -24
- data/test/fake_app/config/database.yml +0 -3
- data/test/fake_app/db/migrate/20120428022519_create_authors.rb +0 -11
- data/test/fake_app/db/migrate/20120428022535_create_books.rb +0 -12
- data/test/fake_app/db/schema.rb +0 -0
- data/test/fake_app/fake_app.rb +0 -32
- data/test/fake_app/log/.gitignore +0 -1
- data/test/fake_app/tmp/.gitkeep +0 -0
- data/test/features/erd_test.rb +0 -18
- data/test/lib/migrator_test.rb +0 -59
- data/test/test_helper.rb +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e9b918036131dd6376ed19adf3f6533b6caf0987a87f78b04944881ec579695
|
4
|
+
data.tar.gz: 591899522e0d2247e5bb999c88c182baeee7a90912f6f8c946bb044e83142a13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36353f77def4b6e65e4e565c87be9a9838dbc11c5e86475aada0435d8062a010c3a683c430bf9b1620289ebddfca5ea871ffbb4f7a4fa384402451489e5590ef
|
7
|
+
data.tar.gz: 175f0d4f165dd2fa3148865e4cfc898dbae572da4c200b1b68bb6cbf9450f4b01247ccfe5e189e6e34a8dbba7216d3291285f2464b24a01e67c0fa2b4a20c31b
|
data/README.md
CHANGED
@@ -137,9 +137,9 @@ module Erd
|
|
137
137
|
{:model => model_name, :x => (custom_x || (BigDecimal(x) * 72).round), :y => (custom_y || (BigDecimal(y) * 72).round), :width => (BigDecimal(width) * 72).round, :height => (BigDecimal(height) * 72).round, :columns => columns}
|
138
138
|
}.compact
|
139
139
|
max_model_x = models.map {|m| m[:x].to_f + m[:width].to_f }.max
|
140
|
-
erd_width = [[(BigDecimal(svg_width) * 72).round, max_model_x].min + 150, 1024].max
|
140
|
+
erd_width = [[(BigDecimal(svg_width) * 72).round, max_model_x].compact.min + 150, 1024].max
|
141
141
|
max_model_y = models.map {|m| m[:y].to_f + m[:height].to_f }.max
|
142
|
-
erd_height = [[(BigDecimal(svg_height) * 72).round, max_model_y].min + 150, 768].max
|
142
|
+
erd_height = [[(BigDecimal(svg_height) * 72).round, max_model_y].compact.min + 150, 768].max
|
143
143
|
# edge tail head n x1 y1 .. xn yn [label xl yl] style color
|
144
144
|
edges = plain.scan(/^edge ([^ ]+)+ ([^ ]+)/).map {|from, to| {:from => from, :to => to}}
|
145
145
|
render_to_string 'erd/erd/erd', :layout => nil, :locals => {:width => erd_width, :height => erd_height, :models => models, :edges => edges, :edit_mode => edit_mode}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta charset='utf-8'>
|
5
|
-
<title>ERD - <%= Rails.application.class.
|
5
|
+
<title>ERD - <%= Rails.application.class.name[/[^:]+/] %></title>
|
6
6
|
<%= stylesheet_link_tag '/erd/erd', :media => 'all' %>
|
7
7
|
<%= stylesheet_link_tag 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css', :media => 'all' %>
|
8
8
|
<%= javascript_include_tag 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js' %>
|
data/erd.gemspec
CHANGED
@@ -11,9 +11,9 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.homepage = 'https://github.com/amatsuda/erd'
|
12
12
|
gem.license = 'MIT'
|
13
13
|
|
14
|
-
gem.files
|
15
|
-
|
16
|
-
|
14
|
+
gem.files = Dir.chdir(File.expand_path(__dir__)) do
|
15
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
16
|
+
end
|
17
17
|
gem.name = 'erd'
|
18
18
|
gem.require_paths = ['lib']
|
19
19
|
gem.version = Erd::VERSION
|
data/lib/erd/version.rb
CHANGED
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.8.
|
4
|
+
version: 0.8.1
|
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: 2022-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-graphviz
|
@@ -197,16 +197,6 @@ files:
|
|
197
197
|
- public/erd/erd.css
|
198
198
|
- public/erd/erd.js
|
199
199
|
- src/assets/stylesheets/erd/erd.css.scss
|
200
|
-
- test/fake_app/config/database.yml
|
201
|
-
- test/fake_app/db/migrate/20120428022519_create_authors.rb
|
202
|
-
- test/fake_app/db/migrate/20120428022535_create_books.rb
|
203
|
-
- test/fake_app/db/schema.rb
|
204
|
-
- test/fake_app/fake_app.rb
|
205
|
-
- test/fake_app/log/.gitignore
|
206
|
-
- test/fake_app/tmp/.gitkeep
|
207
|
-
- test/features/erd_test.rb
|
208
|
-
- test/lib/migrator_test.rb
|
209
|
-
- test/test_helper.rb
|
210
200
|
homepage: https://github.com/amatsuda/erd
|
211
201
|
licenses:
|
212
202
|
- MIT
|
@@ -226,18 +216,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
216
|
- !ruby/object:Gem::Version
|
227
217
|
version: '0'
|
228
218
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
219
|
+
rubygems_version: 3.4.0.dev
|
230
220
|
signing_key:
|
231
221
|
specification_version: 4
|
232
222
|
summary: erd engine on Rails
|
233
|
-
test_files:
|
234
|
-
- test/fake_app/config/database.yml
|
235
|
-
- test/fake_app/db/migrate/20120428022519_create_authors.rb
|
236
|
-
- test/fake_app/db/migrate/20120428022535_create_books.rb
|
237
|
-
- test/fake_app/db/schema.rb
|
238
|
-
- test/fake_app/fake_app.rb
|
239
|
-
- test/fake_app/log/.gitignore
|
240
|
-
- test/fake_app/tmp/.gitkeep
|
241
|
-
- test/features/erd_test.rb
|
242
|
-
- test/lib/migrator_test.rb
|
243
|
-
- test/test_helper.rb
|
223
|
+
test_files: []
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class CreateBooks < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
|
4
|
-
def change
|
5
|
-
create_table :books do |t|
|
6
|
-
t.references :author
|
7
|
-
t.string :title
|
8
|
-
|
9
|
-
t.timestamps
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
data/test/fake_app/db/schema.rb
DELETED
File without changes
|
data/test/fake_app/fake_app.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'active_record'
|
4
|
-
require 'action_controller/railtie'
|
5
|
-
|
6
|
-
# config
|
7
|
-
module ErdApp
|
8
|
-
class Application < Rails::Application
|
9
|
-
# Rais.root
|
10
|
-
config.root = File.dirname(__FILE__)
|
11
|
-
|
12
|
-
config.secret_token = 'fall to your knees and repent if you please'
|
13
|
-
config.session_store :cookie_store, :key => '_myapp_session'
|
14
|
-
config.active_support.deprecation = :log
|
15
|
-
config.eager_load = false
|
16
|
-
|
17
|
-
config.app_generators.orm :active_record, :migration => true, :timestamps => true
|
18
|
-
end
|
19
|
-
end
|
20
|
-
ErdApp::Application.initialize!
|
21
|
-
ErdApp::Application.routes.draw {}
|
22
|
-
|
23
|
-
# models
|
24
|
-
class Author < ActiveRecord::Base
|
25
|
-
has_many :books
|
26
|
-
end
|
27
|
-
class Book < ActiveRecord::Base
|
28
|
-
belongs_to :author
|
29
|
-
end
|
30
|
-
|
31
|
-
# helpers
|
32
|
-
module ApplicationHelper; end
|
@@ -1 +0,0 @@
|
|
1
|
-
*.log
|
data/test/fake_app/tmp/.gitkeep
DELETED
File without changes
|
data/test/features/erd_test.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class ErdIndexTest < ActionDispatch::IntegrationTest
|
6
|
-
test 'with author and book model' do
|
7
|
-
visit '/erd'
|
8
|
-
|
9
|
-
if Capybara::VERSION > '3'
|
10
|
-
assert has_content? 'Author', :minimum => 1
|
11
|
-
else
|
12
|
-
assert has_content? 'Author'
|
13
|
-
end
|
14
|
-
assert has_content? 'name'
|
15
|
-
assert has_content? 'Book'
|
16
|
-
assert has_content? 'title'
|
17
|
-
end
|
18
|
-
end
|
data/test/lib/migrator_test.rb
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class MigratorTest < ActiveSupport::TestCase
|
6
|
-
teardown do
|
7
|
-
Dir.glob(Rails.root.join('db/migrate/*.rb')).each do |f|
|
8
|
-
FileUtils.rm f unless File.basename(f).in? %w(20120428022519_create_authors.rb 20120428022535_create_books.rb)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
sub_test_case '.status' do
|
13
|
-
test 'when all migrations are up' do
|
14
|
-
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
|
15
|
-
end
|
16
|
-
|
17
|
-
test 'when one is undone' do
|
18
|
-
FileUtils.touch Rails.root.join('db/migrate/20999999999999_create_foobars.rb')
|
19
|
-
|
20
|
-
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
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
sub_test_case '.run_migrations' do
|
25
|
-
setup do
|
26
|
-
File.open(Rails.root.join('db/migrate/20999999999999_create_foobars.rb'), 'w') do |f|
|
27
|
-
f.puts 'class CreateFoobars < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration; end'
|
28
|
-
end
|
29
|
-
|
30
|
-
if defined? ActiveRecord::MigrationContext # >= 5.2
|
31
|
-
mock.instance_of(ActiveRecord::MigrationContext).run(:up, 20999999999999)
|
32
|
-
else
|
33
|
-
mock(ActiveRecord::Migrator).run(:up, ['db/migrate'], 20999999999999)
|
34
|
-
end
|
35
|
-
mock(ActiveRecord::SchemaDumper).dump(ActiveRecord::Base.connection, anything)
|
36
|
-
end
|
37
|
-
test 'runs migration by version number' do
|
38
|
-
Erd::Migrator.run_migrations(:up => ['20999999999999'])
|
39
|
-
end
|
40
|
-
test 'runs migration by migration filename' do
|
41
|
-
Erd::Migrator.run_migrations(:up => [Rails.root.join('db/migrate/20999999999999_create_foobars.rb')])
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
class GenaratorRunnerTest < ActiveSupport::TestCase
|
47
|
-
setup do
|
48
|
-
stub.proxy(Time).now {|t| stub(t).utc { Time.parse '2012/5/12 13:26' } }
|
49
|
-
end
|
50
|
-
teardown do
|
51
|
-
Dir.glob(Rails.root.join('db/migrate/*.rb')).each do |f|
|
52
|
-
FileUtils.rm f unless File.basename(f).in? %w(20120428022519_create_authors.rb 20120428022535_create_books.rb)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
test '.execute_generate_migration' do
|
57
|
-
assert_includes Erd::GenaratorRunner.execute_generate_migration('create_foobars'), 'db/migrate/20120512132600_create_foobars.rb'
|
58
|
-
end
|
59
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
5
|
-
|
6
|
-
ENV['RAILS_ENV'] = 'development'
|
7
|
-
|
8
|
-
# load Rails first
|
9
|
-
require 'rails'
|
10
|
-
require 'action_controller/railtie'
|
11
|
-
require 'active_record/railtie'
|
12
|
-
require 'erd'
|
13
|
-
require 'fake_app/fake_app'
|
14
|
-
require 'test/unit/rails/test_help'
|
15
|
-
Bundler.require
|
16
|
-
require 'capybara'
|
17
|
-
require 'selenium/webdriver'
|
18
|
-
|
19
|
-
begin
|
20
|
-
require "action_dispatch/system_test_case"
|
21
|
-
rescue LoadError
|
22
|
-
Capybara.register_driver :chrome do |app|
|
23
|
-
options = Selenium::WebDriver::Chrome::Options.new(:args => %w[no-sandbox headless disable-gpu])
|
24
|
-
Capybara::Selenium::Driver.new(app, :browser => :chrome, :options => options)
|
25
|
-
end
|
26
|
-
Capybara.javascript_driver = :chrome
|
27
|
-
else
|
28
|
-
ActionDispatch::SystemTestCase.driven_by(:selenium, :using => :headless_chrome)
|
29
|
-
end
|
30
|
-
|
31
|
-
ActiveRecord::Migration.verbose = false
|
32
|
-
if defined? ActiveRecord::MigrationContext # >= 5.2
|
33
|
-
ActiveRecord::Migrator.migrations_paths = Rails.application.paths['db/migrate'].to_a
|
34
|
-
ActiveRecord::Base.connection.migration_context.migrate
|
35
|
-
else
|
36
|
-
ActiveRecord::Migrator.migrate(ActiveRecord::Migrator.migrations_paths.map {|p| Rails.root.join p}, nil)
|
37
|
-
end
|