erd 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -49,8 +49,6 @@ Browse at your http://localhost:3000/erd
49
49
 
50
50
  * drop column (need to think of the UI)
51
51
 
52
- * performance (with large number of models)
53
-
54
52
  * stop depending on rails-erd and Graphviz
55
53
 
56
54
  * tests
@@ -75,6 +75,7 @@ class ERD
75
75
  setup_handlers: ->
76
76
  @setup_click_handlers()
77
77
  @setup_submit_handlers()
78
+ @setup_migration_event_handlers()
78
79
  $('div.model').draggable(drag: @handle_drag)
79
80
 
80
81
  handle_drag: (ev, ui) =>
@@ -98,6 +99,13 @@ class ERD
98
99
  $('form.add_column_form').on 'submit', @handle_add_column
99
100
  $('#changes_form').on 'submit', @handle_save
100
101
 
102
+ setup_migration_event_handlers: ->
103
+ $('#migration_status tr input').on 'click', ->
104
+ $(this).parents('tr').toggleClass('active')
105
+ $('#migration_status thead td button').on 'click', (ev) ->
106
+ ev.preventDefault()
107
+ $('#migration_status').toggleClass('show_all_migrations')
108
+
101
109
  handle_save: (ev) =>
102
110
  changes = $('#changes > tbody > tr').map(->
103
111
  change = {}
@@ -248,3 +256,6 @@ class ERD
248
256
  $ ->
249
257
  window.erd = new ERD('erd', $('#erd'), window.raw_edges)
250
258
 
259
+ $('#erd').css('height', window.innerHeight)
260
+ $(window).on 'resize', ->
261
+ $('#erd').css('height', window.innerHeight)
@@ -1,4 +1,4 @@
1
- html, body, p, ul, ol, dl, p, li, dt, dd, form {
1
+ html, body, p, ul, ol, dl, p, li, dt, dd, tr, td, form {
2
2
  margin: 0;
3
3
  padding: 0;
4
4
  }
@@ -29,6 +29,14 @@ li {
29
29
 
30
30
  #migration {
31
31
  table {
32
+ thead {
33
+ td {
34
+ text-align: center;
35
+ button {
36
+ padding: 3px 30px;
37
+ }
38
+ }
39
+ }
32
40
  td {
33
41
  font-size: small;
34
42
  }
@@ -38,7 +46,55 @@ li {
38
46
  }
39
47
  }
40
48
 
49
+ @mixin active-migration {
50
+ height: auto;
51
+ * {
52
+ font-size: small;
53
+ height: auto;
54
+ overflow: auto;
55
+ }
56
+ input {
57
+ display: inline-block;
58
+ }
59
+ }
60
+
61
+ #migration_status {
62
+ width: 386px;
63
+ td.migration_file_name {
64
+ word-break: break-all;
65
+ }
66
+ td label {
67
+ white-space: nowrap;
68
+ }
69
+
70
+ tr.up {
71
+ font-size: 0;
72
+ height: 1px;
73
+ overflow: hidden;
74
+ * {
75
+ font-size: 0;
76
+ height: 1px;
77
+ overflow: hidden;
78
+ }
79
+ input {
80
+ display: none;
81
+ }
82
+ &:hover,&.active {
83
+ @include active-migration;
84
+ }
85
+ }
86
+
87
+ &.show_all_migrations {
88
+ tr.up {
89
+ @include active-migration;
90
+ }
91
+ }
92
+ }
93
+
41
94
  #erd {
95
+ overflow: auto;
96
+ position: relative;
97
+
42
98
  form {
43
99
  * {
44
100
  float: left;
@@ -6,13 +6,13 @@
6
6
  <div id="migration">
7
7
  <%- if flash[:executed_migrations].present? -%>
8
8
  <div id="executed">
9
- <h2>Successfully executed the following migrations!</h2>
9
+ <h2>Successfully executed following <%= flash[:executed_migrations].values.flatten.count %> migrations!</h2>
10
10
  <%- [:up, :down].each do |direction| -%>
11
11
  <%- if flash[:executed_migrations][direction].present? -%>
12
12
  <h3><%= direction %></h3>
13
13
  <ul>
14
14
  <%- flash[:executed_migrations][direction].each do |m| -%>
15
- <li><%= m %></li>
15
+ <li><%= File.basename m %></li>
16
16
  <%- end -%>
17
17
  </ul>
18
18
  <%- end -%>
@@ -39,16 +39,26 @@
39
39
  <%= submit_tag 'save changes' %>
40
40
  <% end %>
41
41
  <%= form_tag '/erd/migrate', :method => :put do %>
42
- <table>
42
+ <table id="migration_status">
43
43
  <caption>migration status</caption>
44
- <thead><tr><th>status</th><th>version</th><th>name</th></tr></thead>
44
+ <thead>
45
+ <tr><th>status</th><th>version</th><th>name</th></tr>
46
+ <tr><td colspan="3">
47
+ <button>UNFOLD ALL</button>
48
+ <%= @migrations.count %> migrations in total (up: <%= @migrations.count {|m| m[:status] == 'up'} %>, down: <%= @migrations.count {|m| m[:status] == 'down'} %>)
49
+ </td></tr>
50
+ </thead>
45
51
  <tbody>
46
52
  <%- @migrations.each do |m| -%>
47
- <tr><td><label><%= check_box_tag (m[:status] == 'up' ? 'down[]' : 'up[]'), m[:filename] %><%= m[:status] %></label></td><td><%= m[:version] %></td><td><%= m[:name] %></td></tr>
53
+ <tr class="<%= m[:status] %>">
54
+ <td><label><%= check_box_tag (m[:status] == 'up' ? 'down[]' : 'up[]'), m[:filename] %><%= m[:status] %></label></td>
55
+ <td><%= m[:version] %></td>
56
+ <td class="migration_file_name"><%= m[:name] %></td>
57
+ </tr>
48
58
  <%- end -%>
49
59
  </tbody>
50
60
  </table>
51
- <%= submit_tag 'run migrations' %>
61
+ <%= submit_tag 'run migrations' %>
52
62
  <% end %>
53
63
  </div>
54
64
  </div>
data/lib/erd/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Erd
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.6'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: erd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-24 00:00:00.000000000 Z
12
+ date: 2012-05-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails-erd
16
- requirement: &70195427878300 !ruby/object:Gem::Requirement
16
+ requirement: &70206052510280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.4.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70195427878300
24
+ version_requirements: *70206052510280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70195427877780 !ruby/object:Gem::Requirement
27
+ requirement: &70206052509720 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70195427877780
35
+ version_requirements: *70206052509720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec-rails
38
- requirement: &70195427877220 !ruby/object:Gem::Requirement
38
+ requirement: &70206052508980 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70195427877220
46
+ version_requirements: *70206052508980
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: capybara
49
- requirement: &70195427876600 !ruby/object:Gem::Requirement
49
+ requirement: &70206052508440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70195427876600
57
+ version_requirements: *70206052508440
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rr
60
- requirement: &70195427875240 !ruby/object:Gem::Requirement
60
+ requirement: &70206052508020 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70195427875240
68
+ version_requirements: *70206052508020
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
- requirement: &70195427874700 !ruby/object:Gem::Requirement
71
+ requirement: &70206052507260 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70195427874700
79
+ version_requirements: *70206052507260
80
80
  description: erd engine on Rails
81
81
  email:
82
82
  - ronnie@dio.jp