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 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