erd 0.3.3 → 0.4.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
  SHA1:
3
- metadata.gz: bfda8d2bb8d957e59551e050311eb57cd0596fa4
4
- data.tar.gz: 8842d97845e3322b4136d127d9ecaff79edd5b44
3
+ metadata.gz: f1312fbbdfb027c4ddf0da75c7e63beed30068e8
4
+ data.tar.gz: b3b6ad4ca6ef09e0f300eb13ed3e05fff9f1cbfc
5
5
  SHA512:
6
- metadata.gz: df480b1e6c3a92f8ae2f090006cc5df74b12e3266ccd51589d12468c06300f9cf59b9b4b51bc741fb290772e6222d733a0dc57b2b3ba60ece42e6358aca30104
7
- data.tar.gz: 5cde36c48e567bfa099a0cf9ab08b4baaba742f707cc292af85d48510db3d0f0d433a9249692ec734fb226e508eaaf18a7a0aa4664b55e8306646ee94440a085
6
+ metadata.gz: bec98c793e0d4092627abd934d540606457bd3a72152d02ddea0bcd5cafc01e52d99470b490c19ac4d88f62c0fd71f23635ede0f1fb3e346336f66e6bcb30cd7
7
+ data.tar.gz: 26c6d775a0af3d217ebbe86db63140d8a3bb85d1d80f9da050c91c13b1e0f96c2d3aaef8363893d60edb542232f8864076793e4c6374cf6349061fc7c496c875
data/.gitignore CHANGED
@@ -14,4 +14,4 @@ rdoc
14
14
  spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
- spec/fake_app/tmp/*.*
17
+ test/fake_app/tmp/*.*
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.3.0
5
+
6
+ before_install:
7
+ - sudo apt-get install graphviz
@@ -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
- =- Team
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/gem_tasks'
2
+ require 'bundler'
3
+ Bundler::GemHelper.install_tasks
3
4
 
4
- require 'rspec/core'
5
- require 'rspec/core/rake_task'
5
+ require 'rake/testtask'
6
6
 
7
- task :noop do; end
8
- task :default => :spec
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
- RSpec::Core::RakeTask.new(:spec => :noop)
14
+ task default: 'test'
@@ -168,7 +168,7 @@ li {
168
168
  left: 8px;
169
169
  top: 6px;
170
170
  background: {
171
- image: image_url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTExMTA1MjMzRUMxMTFFMkJDNjQ4QUM5N0I1ODJDNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTExMTA1MjQzRUMxMTFFMkJDNjQ4QUM5N0I1ODJDNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MTExMDUyMTNFQzExMUUyQkM2NDhBQzk3QjU4MkM1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MTExMDUyMjNFQzExMUUyQkM2NDhBQzk3QjU4MkM1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pjsg+BcAAADiSURBVHjavNaBDcIgEADAtnEBVnCFruAKrkBHcBZdwRFcQVfREV5QSID24Z9//eRTCuQvbcKHEQCGf8RUvFuXs1LtvJb/opAWvvF0OSfzPbmqFReOkIcEsxu1TFw0Lu8KWIlAmMt+nRRDkRKSYFVkC+rBmggGcTASUoMoGBlpQTXsxEEoEIaxECrUwiylxkTsWy+XV2T+QaogOIysQ92L3LiYpK2cOZiorXAwCcLCpAgZ00BImBbSxOKGgwJSw/bYBiu8nKS1/HjYJU1iCU/fUi7Cq9ZSjscfXiBN6IWfeAswAPwFJ+lOAhBOAAAAAElFTkSuQmCC");
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: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTExMTA1MUYzRUMxMTFFMkJDNjQ4QUM5N0I1ODJDNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTExMTA1MjAzRUMxMTFFMkJDNjQ4QUM5N0I1ODJDNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDNEZGNDMzQTNFQUExMUUyQkM2NDhBQzk3QjU4MkM1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MTExMDUxRTNFQzExMUUyQkM2NDhBQzk3QjU4MkM1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PolLCroAAAAhSURBVHjaYvj//78KEDMQwkwMRIJRhXgBC5RWIaQQIMAA1wEePzIPm4IAAAAASUVORK5CYII=);
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 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTExMTA1MjMzRUMxMTFFMkJDNjQ4QUM5N0I1ODJDNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTExMTA1MjQzRUMxMTFFMkJDNjQ4QUM5N0I1ODJDNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MTExMDUyMTNFQzExMUUyQkM2NDhBQzk3QjU4MkM1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MTExMDUyMjNFQzExMUUyQkM2NDhBQzk3QjU4MkM1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pjsg+BcAAADiSURBVHjavNaBDcIgEADAtnEBVnCFruAKrkBHcBZdwRFcQVfREV5QSID24Z9//eRTCuQvbcKHEQCGf8RUvFuXs1LtvJb/opAWvvF0OSfzPbmqFReOkIcEsxu1TFw0Lu8KWIlAmMt+nRRDkRKSYFVkC+rBmggGcTASUoMoGBlpQTXsxEEoEIaxECrUwiylxkTsWy+XV2T+QaogOIysQ92L3LiYpK2cOZiorXAwCcLCpAgZ00BImBbSxOKGgwJSw/bYBiu8nKS1/HjYJU1iCU/fUi7Cq9ZSjscfXiBN6IWfeAswAPwFJ+lOAhBOAAAAAElFTkSuQmCC' %></a>
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 "data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%20%00%00%006%08%06%00%00%00%A6%F5%9Br%00%00%00%19tEXtSoftware%00Adobe%20ImageReadyq%C9e%3C%00%00%03%24iTXtXML%3Acom.adobe.xmp%00%00%00%00%00%3C%3Fxpacket%20begin%3D%22%EF%BB%BF%22%20id%3D%22W5M0MpCehiHzreSzNTczkc9d%22%3F%3E%20%3Cx%3Axmpmeta%20xmlns%3Ax%3D%22adobe%3Ans%3Ameta%2F%22%20x%3Axmptk%3D%22Adobe%20XMP%20Core%205.3-c011%2066.145661%2C%202012%2F02%2F06-14%3A56%3A27%20%20%20%20%20%20%20%20%22%3E%20%3Crdf%3ARDF%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%3E%20%3Crdf%3ADescription%20rdf%3Aabout%3D%22%22%20xmlns%3Axmp%3D%22http%3A%2F%2Fns.adobe.com%2Fxap%2F1.0%2F%22%20xmlns%3AxmpMM%3D%22http%3A%2F%2Fns.adobe.com%2Fxap%2F1.0%2Fmm%2F%22%20xmlns%3AstRef%3D%22http%3A%2F%2Fns.adobe.com%2Fxap%2F1.0%2FsType%2FResourceRef%23%22%20xmp%3ACreatorTool%3D%22Adobe%20Photoshop%20CS6%20(Macintosh)%22%20xmpMM%3AInstanceID%3D%22xmp.iid%3A7FB38B03BFF211E29BDCA95598AF2146%22%20xmpMM%3ADocumentID%3D%22xmp.did%3A7FB38B04BFF211E29BDCA95598AF2146%22%3E%20%3CxmpMM%3ADerivedFrom%20stRef%3AinstanceID%3D%22xmp.iid%3A7FB38B01BFF211E29BDCA95598AF2146%22%20stRef%3AdocumentID%3D%22xmp.did%3A7FB38B02BFF211E29BDCA95598AF2146%22%2F%3E%20%3C%2Frdf%3ADescription%3E%20%3C%2Frdf%3ARDF%3E%20%3C%2Fx%3Axmpmeta%3E%20%3C%3Fxpacket%20end%3D%22r%22%3F%3E%1A~%A1%DF%00%00%023IDATx%DA%CC%99%BF%2F%03a%18%C7%AFG%A3%09%95hh%0C%16%83%A9K'%93%C4%C0b%F0c%AA%09%1B%23%FE%00F%1D%DB%0D%2B%83X%BAHL6%8BI%97N%06%89%C1%D0K%88_%11%11%F1%FA%1E%DF%8B7%97%EB%A9%F6%EEy%7B%C9%A7%D1%DE%7B%FD%3E%E9%FB%E3%F9%3E%8F%84R%CA2t-%81%E3n%03%C2%3D%60%1F%AC%80I%E9%00%86%40%05L%80%17pb%B9S%20D%0E%5C%AB%9F%EB%06%E4%BF%A7_H%7C%06%3CR%FC%02%0C%7B%F7%24%C4%D7%C1%07%C5%8F%40J%BF%1F%A7p%12%ECQ%F8%13l%83%84%7F%5C%5C%E2%03%E0%8C%E2%AF%60%B1%D1%D88%C4%C7%C0%15%C5o%C1x%D8%F8%A8%C5%A7%C0%1D%C5%AB%60%E4%AFg%A2%14_%05%EF%14%AF%80%DEf%9E%8BB%B8%0B%94%D4%EFU%04v%B3%CF%B7%2B%9E%06%A7%14~%03%CB%FF%FD%8Ev%C4GA%8D%E2%0E%98h%E5%7BZ%15w%C5%EA%14%AF1%18K*%80e%FE%DC%8A%3F%7F%7F%3B%D3%F8%9F%C1%EE%C2%DA%D1%16%5B%99%0B%D0%92%08%A0%97%5BKq%AB%ADE%B5%7D%9B%19%E4%1E%26%97%14%BF%E7acI%050%CE%E3T%F1x%1D%8B%FA%E8%0E%BBY%60%22QL%2C%998%12W%D0%87n%CA%DCb%0AUL%A9%C9%B8%D2%B6%FF%83%14M%83%A2%89%D8%88%DB%B0%E8o%86i%97%DC%EB%896%CA%92%0A%20O%A3%A8h%1CsRf%D5%7D%99%03%CF%14%3F%07YA%A7l%D9%F0%E6%0B%A0%0F%1C%80i%E0H%16%0A%B6%F6%B7%99%1A-%60%0A%06%25%A7%A0%23%16a%D06%7C%90%DE%86%8D%0E%A2u%E9%00%82%8E%E2%5D%C9%A38%2C%19%0DH%07%60%3C%1D%EB%86%A4%CA%20%EE%A4%0DI%23K%B6*%1D%80gJ%8B%9A)-I%9A%D20%5B%9E%96%0E%C0%2BL%1CS%85IPiV%97.%CD%3C%FAM%16%A7zy%5E%D6%16%E7%8Edy%AE%B3f%AAA%E1o%D1%DC%9Bj%D1tD%93%CA%23%E3k%D3%15%A4%03%F0%1A%95%FB%A6%1A%95%3A%9B%A6Z%B5%FEf%F5%93%A9fuG%B4%EB%3D%B2%B4%FE%8A%A5%C0%BC-%5C%868%AC%BE%0EY%8D%CD%26L%FF%D3%EAK%80%01%00%2B%DD2X)e%A8%3D%00%00%00%00IEND%AEB%60%82" %></div>
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 'data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%20%00%00%006%08%06%00%00%00%A6%F5%9Br%00%00%00%19tEXtSoftware%00Adobe%20ImageReadyq%C9e%3C%00%00%03%24iTXtXML%3Acom.adobe.xmp%00%00%00%00%00%3C%3Fxpacket%20begin%3D%22%EF%BB%BF%22%20id%3D%22W5M0MpCehiHzreSzNTczkc9d%22%3F%3E%20%3Cx%3Axmpmeta%20xmlns%3Ax%3D%22adobe%3Ans%3Ameta%2F%22%20x%3Axmptk%3D%22Adobe%20XMP%20Core%205.3-c011%2066.145661%2C%202012%2F02%2F06-14%3A56%3A27%20%20%20%20%20%20%20%20%22%3E%20%3Crdf%3ARDF%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%3E%20%3Crdf%3ADescription%20rdf%3Aabout%3D%22%22%20xmlns%3Axmp%3D%22http%3A%2F%2Fns.adobe.com%2Fxap%2F1.0%2F%22%20xmlns%3AxmpMM%3D%22http%3A%2F%2Fns.adobe.com%2Fxap%2F1.0%2Fmm%2F%22%20xmlns%3AstRef%3D%22http%3A%2F%2Fns.adobe.com%2Fxap%2F1.0%2FsType%2FResourceRef%23%22%20xmp%3ACreatorTool%3D%22Adobe%20Photoshop%20CS6%20(Macintosh)%22%20xmpMM%3AInstanceID%3D%22xmp.iid%3A7FB38B07BFF211E29BDCA95598AF2146%22%20xmpMM%3ADocumentID%3D%22xmp.did%3A7FB38B08BFF211E29BDCA95598AF2146%22%3E%20%3CxmpMM%3ADerivedFrom%20stRef%3AinstanceID%3D%22xmp.iid%3A7FB38B05BFF211E29BDCA95598AF2146%22%20stRef%3AdocumentID%3D%22xmp.did%3A7FB38B06BFF211E29BDCA95598AF2146%22%2F%3E%20%3C%2Frdf%3ADescription%3E%20%3C%2Frdf%3ARDF%3E%20%3C%2Fx%3Axmpmeta%3E%20%3C%3Fxpacket%20end%3D%22r%22%3F%3E%F5JG%DA%00%00%01%E8IDATx%DA%E4%99%BFKBQ%18%86%CFU*A%14%94%92%86%96%86%A6%96%A6%267%A7%96%DAts%D4%D1%FA%03j%D41%B7%0C%22%FA%05m%8DMm-N%B989%08%0E%0E%09I%19DDx%FA%3Ez%2F%5D%EE%1F%F0~C%07%9E%BB%DE%07%CE9%DF%AF%13x%EF%17%9Dse%E1%C6Y%2C%118%F3%BF%EBBX%12%1C%13%FD%EC%0A%EF%90x%14%96%D9%02%CA%960%82%C4P%D8d%0B(%ABB%17%12%AF%C2%0E%5B%40I%09%B7%90%F8%16%1Al%01%25%10%0E%859DN%84%05%A6%40HY%F8%80%C4%83%90c%0B(%DB%C2%18%12%03a%83-%A0%AC%09%3DH%BC%08%25%B6%80%92%16%EE%20%F1%25%D4%D8%02JBh%F9%BFu%2C%24%99%02!U%E1%13%12%F7B%86-%A0%14%85%09%24%FA%C2%3A%5B%C0%E1%A7%7DH%3CC%8A*%A0d%B1%0D%1E%DBRe%0B8%1C%C4v%E4p6q%60i%02!u%5CQ%8F%2B%9Bf%0B8%04%A9)%24z%08bT%01%87p%3D%80%C4%18%E1%9C*%A0%E4%91%C0%3C%12Z%99-%E0%90%C2O!%A1%A9%FD%08%A9%9E%26%10r%80%E2%C6%A3%D8I%B1%05%1C%CA%BB%19%24%BA(%FF%A8%02%0E%85%EE%10%12%23%14%C2T%01%A5%80%D2%DF%A3%15%D8c%0B84%3FW%908O8%9B5%8F%B6fLV%2C%B7%C0%F4%10%EA5%7C%B3%BA%86%0D%AB%40%A4%A1%B8c%15%8As%B1dT%F97%E9%B8%84%EE%C9%A4%20%A9Y%95dItI%E1j1%8B%D2%8CeY%1EmL%26%EC%C6%A4%88n%C8%A45%8B7%A7Yf%7B%DE%8C%1C%B66%B3%3D%8F%0F(%EA%EC%11%CD%13~%3Ee%8FhL%87T%F11%5D%DEjP%D9a%0E*%E3%A3%DA%7D%ABa%F5%8C%3D%AC6%1D%D7%C7%1F%2C%0A%EC%07%8B%F0%C9%E6%D2%E2%C9%26%C0%A3UE%B8%B6h%91~%04%18%00%A5%DA%B2x%88g%CF!%00%00%00%00IEND%AEB%60%82' %></div>
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>
@@ -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 'minitest'
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'
@@ -1,3 +1,5 @@
1
+ require 'rails/generators'
2
+
1
3
  module Erd
2
4
  class GenaratorRunner
3
5
  class << self
@@ -1,3 +1,3 @@
1
1
  module Erd
2
- VERSION = '0.3.3'
2
+ VERSION = '0.4.0'
3
3
  end
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
@@ -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)
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.3.3
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: 2015-12-14 00:00:00.000000000 Z
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: minitest
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
- - spec/fake_app/db/migrate/20120428022519_create_authors.rb
172
- - spec/fake_app/db/migrate/20120428022535_create_books.rb
173
- - spec/fake_app/db/schema.rb
174
- - spec/fake_app/fake_app.rb
175
- - spec/fake_app/log/.gitignore
176
- - spec/fake_app/tmp/.gitkeep
177
- - spec/features/erd_spec.rb
178
- - spec/lib/migrator_spec.rb
179
- - spec/spec_helper.rb
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.4.8
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
- - spec/fake_app/db/migrate/20120428022519_create_authors.rb
224
- - spec/fake_app/db/migrate/20120428022535_create_books.rb
225
- - spec/fake_app/db/schema.rb
226
- - spec/fake_app/fake_app.rb
227
- - spec/fake_app/log/.gitignore
228
- - spec/fake_app/tmp/.gitkeep
229
- - spec/features/erd_spec.rb
230
- - spec/lib/migrator_spec.rb
231
- - spec/spec_helper.rb
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
@@ -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
@@ -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
@@ -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