erd 0.3.1 → 0.3.2

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: 49c35f48267facc12a37e826f6f2f794d5142d31
4
- data.tar.gz: efa660ae1f7717cbc5be360b0026e6775a83afb9
3
+ metadata.gz: c95c4586cc6d74e2464968fb1a334cdc1f5703a4
4
+ data.tar.gz: fddcd53eeb3bd88041f9590a2c2f9ba100bed013
5
5
  SHA512:
6
- metadata.gz: 3b1b411f46377f22b64aaeeea60f99261e3a33bf19c6add9b7fc4850682f432ae8cdaa4b17c88a3c4438d94916b5ec5f013e84c60705c1d6f1ef073e9f533142
7
- data.tar.gz: 19391d806293270dddec609d03ebd63859a5941b19ed012fe3d5bea31bf62da4ecc04372891a23d1a04aa63c395ca9bf71abed8d74d32b4cbaa23be212b9f7e9
6
+ metadata.gz: cd3f0c4003242d6293d8bdfe967ea34a2e7af4bd28f955c40490471b2ad229f197a91a3b39bf1f3f919e647b9919b37945d2641d5fc3f1f80e1fb53089064b8d
7
+ data.tar.gz: 2e96eff3f2e0b2b81c28b36cd95802ab53b8d3ad0fe0fc6a2a77ed76028e373906b0b82feefa724eb90f23bdbcfb496d04b0e48e764da830655e817bd76c2aa9
@@ -138,20 +138,14 @@ class ERD
138
138
  type_span = $("<span/>", class: 'column_type_text unsaved')
139
139
  .append(type)
140
140
 
141
- li_node = $("<li/>", class: 'column unsaved')
142
- .append(name_span)
143
- .append("&nbsp;")
144
- .append(type_span)
141
+ li_node = $("<li/>", class: 'column unsaved').append(name_span).append("&nbsp;").append(type_span)
145
142
 
146
143
  target.hide()
147
144
  .parent()
148
145
  .siblings('.columns')
149
- .find('ul')
150
- .append(li_node)
146
+ .find('ul').append(li_node).end()
151
147
  .end()
152
- .end()
153
- .find('a.add_column')
154
- .show()
148
+ .find('a.add_column').show()
155
149
 
156
150
  handle_change_column_type: (ev) =>
157
151
  ev.preventDefault()
@@ -166,12 +160,8 @@ class ERD
166
160
  @upsert_change 'alter_column', model, column, type, to
167
161
 
168
162
  target.hide()
169
- .siblings('.column_type_text')
170
- .text(to)
171
- .show()
172
- .addClass('unsaved')
173
- .parents('.column')
174
- .addClass('unsaved')
163
+ .siblings('.column_type_text').text(to).show().addClass('unsaved')
164
+ .parents('.column').addClass('unsaved')
175
165
 
176
166
  handle_rename_column: (ev) =>
177
167
  ev.preventDefault()
@@ -185,11 +175,8 @@ class ERD
185
175
  @upsert_change 'rename_column', model, column, column, to
186
176
 
187
177
  target.hide()
188
- .siblings('.column_name_text')
189
- .text(to)
190
- .show()
191
- .parents('.column')
192
- .addClass('unsaved')
178
+ .siblings('.column_name_text').text(to).show()
179
+ .parents('.column').addClass('unsaved')
193
180
 
194
181
  handle_rename_model: (ev) =>
195
182
  ev.preventDefault()
@@ -202,10 +189,7 @@ class ERD
202
189
  @upsert_change 'rename_model', model, '', model, to
203
190
 
204
191
  target.hide()
205
- .siblings('.model_name_text')
206
- .text(to)
207
- .show()
208
- .addClass('unsaved')
192
+ .siblings('.model_name_text').text(to).show().addClass('unsaved')
209
193
 
210
194
  handle_add_column_click: (ev) =>
211
195
  ev.preventDefault()
@@ -217,16 +201,10 @@ class ERD
217
201
  return false
218
202
 
219
203
  target.hide()
220
- .next('form')
221
- .show()
222
- .find('a.cancel')
223
- .show()
224
- .find('input[name=type]')
225
- .val('string')
226
- .end()
227
- .find('input[name=name]')
228
- .val('')
229
- .focus()
204
+ .next('form').show()
205
+ .find('a.cancel').show().end()
206
+ .find('input[name=type]').val('string').end()
207
+ .find('input[name=name]').val('').focus()
230
208
 
231
209
  handle_cancel_click: (ev) =>
232
210
  ev.preventDefault()
@@ -238,10 +216,8 @@ class ERD
238
216
  return false
239
217
 
240
218
  target.hide()
241
- .parent('form')
242
- .hide()
243
- .prev('a.add_column, span, div')
244
- .show()
219
+ .parent('form').hide()
220
+ .prev('a.add_column, span, div').show()
245
221
 
246
222
 
247
223
  handle_text_elem_click: (ev) =>
@@ -254,13 +230,9 @@ class ERD
254
230
  return false
255
231
 
256
232
  target.hide()
257
- .next('form')
258
- .show()
259
- .find('a.cancel')
260
- .show()
261
- .find('input[name=to]')
262
- .val(text)
263
- .focus()
233
+ .next('form').show()
234
+ .find('a.cancel').show().end()
235
+ .find('input[name=to]').val(text).focus()
264
236
 
265
237
  handle_remove_model_click: (ev) =>
266
238
  ev.preventDefault()
@@ -303,10 +275,8 @@ class ERD
303
275
  return false
304
276
 
305
277
  target.hide()
306
- .next('div')
307
- .show()
308
- .find('#close_migration')
309
- .show()
278
+ .next('div').show()
279
+ .find('#close_migration').show()
310
280
 
311
281
 
312
282
  handle_close_migration_click: (ev) =>
@@ -321,10 +291,8 @@ class ERD
321
291
  return false
322
292
 
323
293
  target.hide()
324
- .parent()
325
- .hide()
326
- .prev('div')
327
- .show()
294
+ .parent().hide()
295
+ .prev('div').show()
328
296
 
329
297
  $ ->
330
298
  window.erd = new ERD('erd', $('#erd'), window.raw_edges)
@@ -25,51 +25,43 @@ module Erd
25
25
  changes.each do |row|
26
26
  begin
27
27
  action, model, column, from, to = row['action'], row['model'], row['column'], row['from'], row['to']
28
- case action
29
- when 'create_model'
30
- columns = column.split(' ').compact
31
- generated_migration_file = Erd::Migrator.execute_generate_model model, columns
32
- Erd::Migrator.run_migrations :up => generated_migration_file
33
- executed_migrations << generated_migration_file
34
- when 'remove_model'
35
- model = model.tableize
36
- generated_migration_file = Erd::Migrator.execute_generate_migration "drop_#{model}"
37
- gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n drop_table :#{model}\n end"
38
- Erd::Migrator.run_migrations :up => generated_migration_file
39
- executed_migrations << generated_migration_file
40
- when 'rename_model'
41
- model, from, to = from.tableize, to.tableize, model.tableize
42
- generated_migration_file = Erd::Migrator.execute_generate_migration "rename_#{from}_to_#{to}"
43
- gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n rename_table :#{from}, :#{to}\n end"
44
- Erd::Migrator.run_migrations :up => generated_migration_file
45
- executed_migrations << generated_migration_file
46
- when 'add_column'
47
- model = model.tableize
48
- name_and_type = column.scan(/(.*)\((.*?)\)/).first
49
- name, type = name_and_type[0], name_and_type[1]
50
- generated_migration_file = Erd::Migrator.execute_generate_migration "add_#{name}_to_#{model}", ["#{name}:#{type}"]
51
- Erd::Migrator.run_migrations :up => generated_migration_file
52
- executed_migrations << generated_migration_file
53
- when 'rename_column'
54
- model = model.tableize
55
- generated_migration_file = Erd::Migrator.execute_generate_migration "rename_#{model}_#{from}_to_#{to}"
56
- gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n rename_column :#{model}, :#{from}, :#{to}\n end"
57
- Erd::Migrator.run_migrations :up => generated_migration_file
58
- executed_migrations << generated_migration_file
59
- when 'alter_column'
60
- model = model.tableize
61
- generated_migration_file = Erd::Migrator.execute_generate_migration "change_#{model}_#{column}_type_to_#{to}"
62
- gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n change_column :#{model}, :#{column}, :#{to}\n end"
63
- Erd::Migrator.run_migrations :up => generated_migration_file
64
- executed_migrations << generated_migration_file
65
- when 'move'
28
+ if action == 'move'
66
29
  model = model.tableize
67
30
  json_file = Rails.root.join('tmp', 'erd_positions.json')
68
31
  positions = json_file.exist? ? ActiveSupport::JSON.decode(json_file.read) : {}
69
32
  positions[model] = to
70
33
  json_file.open('w') {|f| f.write positions.to_json}
71
34
  else
72
- raise "unexpected action: #{action}"
35
+ case action
36
+ when 'create_model'
37
+ columns = column.split(' ').compact
38
+ generated_migration_file = Erd::GenaratorRunner.execute_generate_model model, columns
39
+ when 'remove_model'
40
+ model = model.tableize
41
+ generated_migration_file = Erd::GenaratorRunner.execute_generate_migration "drop_#{model}"
42
+ gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n drop_table :#{model}\n end"
43
+ when 'rename_model'
44
+ model, from, to = from.tableize, to.tableize, model.tableize
45
+ generated_migration_file = Erd::GenaratorRunner.execute_generate_migration "rename_#{from}_to_#{to}"
46
+ gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n rename_table :#{from}, :#{to}\n end"
47
+ when 'add_column'
48
+ model = model.tableize
49
+ name_and_type = column.scan(/(.*)\((.*?)\)/).first
50
+ name, type = name_and_type[0], name_and_type[1]
51
+ generated_migration_file = Erd::GenaratorRunner.execute_generate_migration "add_#{name}_to_#{model}", ["#{name}:#{type}"]
52
+ when 'rename_column'
53
+ model = model.tableize
54
+ generated_migration_file = Erd::GenaratorRunner.execute_generate_migration "rename_#{model}_#{from}_to_#{to}"
55
+ gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n rename_column :#{model}, :#{from}, :#{to}\n end"
56
+ when 'alter_column'
57
+ model = model.tableize
58
+ generated_migration_file = Erd::GenaratorRunner.execute_generate_migration "change_#{model}_#{column}_type_to_#{to}"
59
+ gsub_file generated_migration_file, /def (up|change).* end/m, "def change\n change_column :#{model}, :#{column}, :#{to}\n end"
60
+ else
61
+ raise "unexpected action: #{action}"
62
+ end
63
+ Erd::Migrator.run_migrations :up => generated_migration_file
64
+ executed_migrations << generated_migration_file
73
65
  end
74
66
  rescue ::Erd::MigrationError => e
75
67
  failed_migrations << e.message
@@ -7,6 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.description = 'erd engine on Rails'
8
8
  gem.summary = 'erd engine on Rails'
9
9
  gem.homepage = 'https://github.com/amatsuda/erd'
10
+ gem.license = 'MIT'
10
11
 
11
12
  gem.files = `git ls-files`.split($\)
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -0,0 +1,38 @@
1
+ module Erd
2
+ class GenaratorRunner
3
+ class << self
4
+ # runs `rails g model [name]`
5
+ # @return generated migration filename
6
+ def execute_generate_model(name, options = nil)
7
+ result = execute_generator 'model', name, options
8
+ result.flatten.grep(%r(/db/migrate/.*\.rb))
9
+ end
10
+
11
+ # runs `rails g migration [name]`
12
+ # @return generated migration filename
13
+ def execute_generate_migration(name, options = nil)
14
+ result = execute_generator 'migration', name, options
15
+ result.last.last
16
+ end
17
+
18
+ private
19
+ # a dirty workaround to make rspec-rails run
20
+ def overwriting_argv(value, &block)
21
+ original_argv = ARGV
22
+ Object.const_set :ARGV, value
23
+ block.call
24
+ ensure
25
+ Object.const_set :ARGV, original_argv
26
+ end
27
+
28
+ def execute_generator(type, name, options = nil)
29
+ overwriting_argv([name, options]) do
30
+ Rails::Generators.configure! Rails.application.config.generators
31
+ result = Rails::Generators.invoke type, [name, options], :behavior => :invoke, :destination_root => Rails.root
32
+ raise ::Erd::MigrationError, "#{name}#{"(#{options})" if options}" unless result
33
+ result
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -39,39 +39,6 @@ module Erd
39
39
  end
40
40
  #TODO unload migraion classes
41
41
  end
42
-
43
- # runs `rails g model [name]`
44
- # @return generated migration filename
45
- def execute_generate_model(name, options = nil)
46
- result = execute_generator 'model', name, options
47
- result.flatten.grep(%r(/db/migrate/.*\.rb))
48
- end
49
-
50
- # runs `rails g migration [name]`
51
- # @return generated migration filename
52
- def execute_generate_migration(name, options = nil)
53
- result = execute_generator 'migration', name, options
54
- result.last.last
55
- end
56
-
57
- private
58
- # a dirty workaround to make rspec-rails run
59
- def overwriting_argv(value, &block)
60
- original_argv = ARGV
61
- Object.const_set :ARGV, value
62
- block.call
63
- ensure
64
- Object.const_set :ARGV, original_argv
65
- end
66
-
67
- def execute_generator(type, name, options = nil)
68
- overwriting_argv([name, options]) do
69
- Rails::Generators.configure! Rails.application.config.generators
70
- result = Rails::Generators.invoke type, [name, options], :behavior => :invoke, :destination_root => Rails.root
71
- raise ::Erd::MigrationError, "#{name}#{"(#{options})" if options}" unless result
72
- result
73
- end
74
- end
75
42
  end
76
43
  end
77
44
  end
@@ -3,6 +3,7 @@ require 'erd/engine'
3
3
 
4
4
  module Erd
5
5
  autoload :Migrator, 'erd/migrator'
6
+ autoload :GenaratorRunner, 'erd/generator_runner'
6
7
 
7
8
  class Railtie < ::Rails::Railtie #:nodoc:
8
9
  initializer 'erd' do |app|
@@ -1,3 +1,3 @@
1
1
  module Erd
2
- VERSION = '0.3.1'
2
+ VERSION = '0.3.2'
3
3
  end
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.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-19 00:00:00.000000000 Z
11
+ date: 2013-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails-erd
@@ -164,6 +164,7 @@ files:
164
164
  - erd.gemspec
165
165
  - lib/erd.rb
166
166
  - lib/erd/engine.rb
167
+ - lib/erd/generator_runner.rb
167
168
  - lib/erd/migrator.rb
168
169
  - lib/erd/railtie.rb
169
170
  - lib/erd/version.rb
@@ -195,7 +196,8 @@ files:
195
196
  - vendor/assets/stylesheets/jquery-ui.css
196
197
  - vendor/assets/stylesheets/jquery.ui.dialog.css
197
198
  homepage: https://github.com/amatsuda/erd
198
- licenses: []
199
+ licenses:
200
+ - MIT
199
201
  metadata: {}
200
202
  post_install_message:
201
203
  rdoc_options: []