erd 0.3.1 → 0.3.2

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: 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: []