padrino-gen 0.16.0.pre4 → 0.16.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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/bin/padrino-gen +4 -4
  4. data/lib/padrino-gen/command.rb +2 -2
  5. data/lib/padrino-gen/generators/actions.rb +68 -64
  6. data/lib/padrino-gen/generators/app/app.rb.tt +6 -6
  7. data/lib/padrino-gen/generators/app.rb +19 -19
  8. data/lib/padrino-gen/generators/cli.rb +16 -19
  9. data/lib/padrino-gen/generators/component.rb +18 -19
  10. data/lib/padrino-gen/generators/components/actions.rb +42 -42
  11. data/lib/padrino-gen/generators/components/mocks/mocha.rb +7 -7
  12. data/lib/padrino-gen/generators/components/mocks/rr.rb +7 -7
  13. data/lib/padrino-gen/generators/components/orms/activerecord.rb +158 -156
  14. data/lib/padrino-gen/generators/components/orms/couchrest.rb +33 -33
  15. data/lib/padrino-gen/generators/components/orms/datamapper.rb +108 -103
  16. data/lib/padrino-gen/generators/components/orms/dynamoid.rb +40 -40
  17. data/lib/padrino-gen/generators/components/orms/minirecord.rb +114 -114
  18. data/lib/padrino-gen/generators/components/orms/mongoid.rb +65 -65
  19. data/lib/padrino-gen/generators/components/orms/mongomapper.rb +20 -20
  20. data/lib/padrino-gen/generators/components/orms/mongomatic.rb +63 -59
  21. data/lib/padrino-gen/generators/components/orms/ohm.rb +49 -47
  22. data/lib/padrino-gen/generators/components/orms/ripple.rb +45 -45
  23. data/lib/padrino-gen/generators/components/orms/sequel.rb +51 -46
  24. data/lib/padrino-gen/generators/components/renderers/erb.rb +1 -1
  25. data/lib/padrino-gen/generators/components/renderers/liquid.rb +1 -1
  26. data/lib/padrino-gen/generators/components/scripts/dojo.rb +6 -6
  27. data/lib/padrino-gen/generators/components/scripts/extcore.rb +6 -6
  28. data/lib/padrino-gen/generators/components/scripts/jquery.rb +6 -6
  29. data/lib/padrino-gen/generators/components/scripts/mootools.rb +6 -6
  30. data/lib/padrino-gen/generators/components/scripts/prototype.rb +8 -8
  31. data/lib/padrino-gen/generators/components/stylesheets/compass.rb +1 -1
  32. data/lib/padrino-gen/generators/components/stylesheets/less.rb +4 -4
  33. data/lib/padrino-gen/generators/components/tests/bacon.rb +66 -66
  34. data/lib/padrino-gen/generators/components/tests/cucumber.rb +61 -61
  35. data/lib/padrino-gen/generators/components/tests/minitest.rb +70 -70
  36. data/lib/padrino-gen/generators/components/tests/rspec.rb +74 -74
  37. data/lib/padrino-gen/generators/components/tests/shoulda.rb +72 -72
  38. data/lib/padrino-gen/generators/components/tests/testunit.rb +69 -69
  39. data/lib/padrino-gen/generators/controller.rb +16 -17
  40. data/lib/padrino-gen/generators/helper.rb +8 -9
  41. data/lib/padrino-gen/generators/mailer.rb +8 -9
  42. data/lib/padrino-gen/generators/migration.rb +6 -6
  43. data/lib/padrino-gen/generators/model.rb +20 -21
  44. data/lib/padrino-gen/generators/plugin.rb +9 -9
  45. data/lib/padrino-gen/generators/project/config/apps.rb.tt +4 -4
  46. data/lib/padrino-gen/generators/project/config/boot.rb +2 -2
  47. data/lib/padrino-gen/generators/project/config.ru +1 -1
  48. data/lib/padrino-gen/generators/project.rb +49 -51
  49. data/lib/padrino-gen/generators/runner.rb +25 -24
  50. data/lib/padrino-gen/generators/task.rb +7 -8
  51. data/lib/padrino-gen/generators/templates/Gemfile.tt +5 -5
  52. data/lib/padrino-gen/generators/templates/controller.rb.tt +3 -3
  53. data/lib/padrino-gen/generators/templates/mailer.rb.tt +15 -15
  54. data/lib/padrino-gen/generators/templates/project_bin.tt +1 -1
  55. data/lib/padrino-gen/generators/templates/task.rb.tt +1 -1
  56. data/lib/padrino-gen/padrino-tasks/activerecord.rb +152 -160
  57. data/lib/padrino-gen/padrino-tasks/database.rb +2 -2
  58. data/lib/padrino-gen/padrino-tasks/datamapper.rb +31 -31
  59. data/lib/padrino-gen/padrino-tasks/minirecord.rb +3 -3
  60. data/lib/padrino-gen/padrino-tasks/mongoid.rb +39 -41
  61. data/lib/padrino-gen/padrino-tasks/mongomapper.rb +18 -14
  62. data/lib/padrino-gen/padrino-tasks/sequel.rb +28 -28
  63. data/lib/padrino-gen/padrino-tasks/sql-helpers.rb +45 -45
  64. data/lib/padrino-gen.rb +4 -4
  65. data/padrino-gen.gemspec +19 -19
  66. data/test/fixtures/admin_template.rb +5 -5
  67. data/test/fixtures/database_template.rb +19 -22
  68. data/test/fixtures/example_template.rb +8 -8
  69. data/test/fixtures/git_template.rb +2 -2
  70. data/test/fixtures/plugin_template.rb +3 -3
  71. data/test/fixtures/rake_template.rb +5 -5
  72. data/test/helper.rb +23 -21
  73. data/test/test_app_generator.rb +13 -13
  74. data/test/test_cli.rb +4 -5
  75. data/test/test_component_generator.rb +17 -17
  76. data/test/test_controller_generator.rb +62 -63
  77. data/test/test_generator.rb +6 -6
  78. data/test/test_helper_generator.rb +23 -24
  79. data/test/test_mailer_generator.rb +7 -7
  80. data/test/test_migration_generator.rb +31 -31
  81. data/test/test_model_generator.rb +80 -80
  82. data/test/test_plugin_generator.rb +35 -36
  83. data/test/test_project_generator.rb +171 -169
  84. data/test/test_sql_helpers.rb +49 -50
  85. data/test/test_task_generator.rb +13 -13
  86. metadata +10 -10
@@ -1,6 +1,6 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
1
+ require_relative 'helper'
2
2
 
3
- describe "MigrationGenerator" do
3
+ describe 'MigrationGenerator' do
4
4
  def setup
5
5
  @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
6
6
  `mkdir -p #{@apptmp}`
@@ -12,14 +12,14 @@ describe "MigrationGenerator" do
12
12
 
13
13
  describe 'the migration generator' do
14
14
  it 'should fail outside app root' do
15
- out, err = capture_io { generate(:migration, 'add_email_to_users', '-r=/tmp') }
15
+ out, = capture_io { generate(:migration, 'add_email_to_users', '-r=/tmp') }
16
16
  assert_match(/not at the root/, out)
17
17
  assert_no_file_exists("#{@apptmp}/db/migrate")
18
18
  end
19
19
 
20
20
  it 'should fail with NameError if given invalid namespace names' do
21
- capture_io { generate(:project, "sample", "--root=#{@apptmp}") }
22
- assert_raises(::NameError) { capture_io { generate(:migration, "wrong/name", "--root=#{@apptmp}/sample") } }
21
+ capture_io { generate(:project, 'sample', "--root=#{@apptmp}") }
22
+ assert_raises(::NameError) { capture_io { generate(:migration, 'wrong/name', "--root=#{@apptmp}/sample") } }
23
23
  end
24
24
 
25
25
  it 'should fail if we do not use an adapter' do
@@ -29,46 +29,46 @@ describe "MigrationGenerator" do
29
29
 
30
30
  it 'should generate migration inside app root' do
31
31
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=activerecord') }
32
- response_success = capture_io { generate(:migration, 'AddEmailToUsers', "-r=#{@apptmp}/sample_project") }
32
+ capture_io { generate(:migration, 'AddEmailToUsers', "-r=#{@apptmp}/sample_project") }
33
33
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_add_email_to_users.rb"
34
34
  assert_match_in_file(/class AddEmailToUser/m, migration_file_path)
35
35
  end
36
36
 
37
37
  it 'should generate migration inside app root with lowercase migration argument' do
38
38
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=activerecord') }
39
- response_success = capture_io { generate(:migration, 'add_email_to_users', "-r=#{@apptmp}/sample_project") }
39
+ capture_io { generate(:migration, 'add_email_to_users', "-r=#{@apptmp}/sample_project") }
40
40
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_add_email_to_users.rb"
41
41
  assert_match_in_file(/class AddEmailToUsers/m, migration_file_path)
42
42
  end
43
43
 
44
44
  it 'should generate migration inside app root with singular table' do
45
45
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=activerecord') }
46
- capture_io { generate(:migration, 'add_email_to_user', "email:string", "-r=#{@apptmp}/sample_project") }
46
+ capture_io { generate(:migration, 'add_email_to_user', 'email:string', "-r=#{@apptmp}/sample_project") }
47
47
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_add_email_to_user.rb"
48
48
  assert_match_in_file(/class AddEmailToUser/m, migration_file_path)
49
49
  assert_match_in_file(/t.string :email/, migration_file_path)
50
50
  assert_match_in_file(/t.remove :email/, migration_file_path)
51
51
  end
52
52
 
53
- describe "the default migration numbering" do
53
+ describe 'the default migration numbering' do
54
54
  it 'should properly calculate version number' do
55
55
  capture_io { generate(:project, 'sample_project', '--migration_format=number', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=sequel') }
56
- capture_io { generate(:migration, 'add_email_to_person', "email:string", "-r=#{@apptmp}/sample_project") }
57
- capture_io { generate(:migration, 'add_name_to_person', "email:string", "-r=#{@apptmp}/sample_project") }
58
- capture_io { generate(:migration, 'add_age_to_user', "email:string", "-r=#{@apptmp}/sample_project") }
56
+ capture_io { generate(:migration, 'add_email_to_person', 'email:string', "-r=#{@apptmp}/sample_project") }
57
+ capture_io { generate(:migration, 'add_name_to_person', 'email:string', "-r=#{@apptmp}/sample_project") }
58
+ capture_io { generate(:migration, 'add_age_to_user', 'email:string', "-r=#{@apptmp}/sample_project") }
59
59
  assert_match_in_file(/Sequel\.migration do/m, "#{@apptmp}/sample_project/db/migrate/001_add_email_to_person.rb")
60
60
  assert_match_in_file(/Sequel\.migration do/m, "#{@apptmp}/sample_project/db/migrate/002_add_name_to_person.rb")
61
61
  assert_match_in_file(/Sequel\.migration do/m, "#{@apptmp}/sample_project/db/migrate/003_add_age_to_user.rb")
62
62
  end
63
63
  end
64
64
 
65
- describe "the timestamped migration numbering" do
65
+ describe 'the timestamped migration numbering' do
66
66
  it 'should properly calculate version number' do
67
67
  capture_io { generate(:project, 'sample_project', '--migration_format=timestamp', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=sequel') }
68
68
 
69
- time = stop_time_for_test.utc.strftime("%Y%m%d%H%M%S")
69
+ time = stop_time_for_test.utc.strftime('%Y%m%d%H%M%S')
70
70
 
71
- capture_io { generate(:migration, 'add_gender_to_person', "gender:string", "-r=#{@apptmp}/sample_project") }
71
+ capture_io { generate(:migration, 'add_gender_to_person', 'gender:string', "-r=#{@apptmp}/sample_project") }
72
72
  assert_match_in_file(/Sequel\.migration do/m, "#{@apptmp}/sample_project/db/migrate/#{time}_add_gender_to_person.rb")
73
73
  end
74
74
  end
@@ -84,7 +84,7 @@ describe "MigrationGenerator" do
84
84
  migration_file_path3 = "#{@apptmp}/sample_project/db/migrate/003_add_location_tofoo.rb"
85
85
  assert_match_in_file(/change_table :users/, migration_file_path1)
86
86
  assert_match_in_file(/change_table :tokyo/, migration_file_path2)
87
- assert_match_in_file(/change_table :foos/, migration_file_path3)
87
+ assert_match_in_file(/change_table :foos/, migration_file_path3)
88
88
  end
89
89
  end
90
90
  end
@@ -95,7 +95,7 @@ describe "MigrationGenerator" do
95
95
  end
96
96
 
97
97
  it 'should generate migration for generic needs' do
98
- response_success = capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
98
+ capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
99
99
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_modify_user_fields.rb"
100
100
  assert_match_in_file(/class ModifyUserFields/m, migration_file_path)
101
101
  assert_match_in_file(/def self\.up\s+end/m, migration_file_path)
@@ -104,7 +104,7 @@ describe "MigrationGenerator" do
104
104
 
105
105
  it 'should generate migration for adding columns' do
106
106
  migration_params = ['AddEmailToUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
107
- response_success = capture_io { generate(:migration, *migration_params) }
107
+ capture_io { generate(:migration, *migration_params) }
108
108
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_add_email_to_users.rb"
109
109
  assert_match_in_file(/class AddEmailToUsers/m, migration_file_path)
110
110
  assert_match_in_file(/change_table :users.*?t\.string :email/m, migration_file_path)
@@ -115,7 +115,7 @@ describe "MigrationGenerator" do
115
115
 
116
116
  it 'should generate migration for removing columns' do
117
117
  migration_params = ['RemoveEmailFromUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
118
- response_success = capture_io { generate(:migration, *migration_params) }
118
+ capture_io { generate(:migration, *migration_params) }
119
119
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_remove_email_from_users.rb"
120
120
  assert_match_in_file(/class RemoveEmailFromUsers/m, migration_file_path)
121
121
  assert_match_in_file(/change_table :users.*?t\.remove :email/m, migration_file_path)
@@ -131,7 +131,7 @@ describe "MigrationGenerator" do
131
131
  end
132
132
 
133
133
  it 'should generate migration for generic needs' do
134
- response_success = capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
134
+ capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
135
135
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_modify_user_fields.rb"
136
136
  assert_match_in_file(/migration\s1.*?:modify_user_fields/m, migration_file_path)
137
137
  assert_match_in_file(/up\sdo\s+end/m, migration_file_path)
@@ -140,7 +140,7 @@ describe "MigrationGenerator" do
140
140
 
141
141
  it 'should generate migration for adding columns' do
142
142
  migration_params = ['AddEmailToUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
143
- response_success = capture_io { generate(:migration, *migration_params) }
143
+ capture_io { generate(:migration, *migration_params) }
144
144
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_add_email_to_users.rb"
145
145
  assert_match_in_file(/migration\s1.*?:add_email_to_users/m, migration_file_path)
146
146
  assert_match_in_file(/modify_table :users.*?add_column :email, String/m, migration_file_path)
@@ -151,7 +151,7 @@ describe "MigrationGenerator" do
151
151
 
152
152
  it 'should generate migration for removing columns' do
153
153
  migration_params = ['RemoveEmailFromUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
154
- response_success = capture_io { generate(:migration, *migration_params) }
154
+ capture_io { generate(:migration, *migration_params) }
155
155
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_remove_email_from_users.rb"
156
156
  assert_match_in_file(/migration\s1.*?:remove_email_from_users/m, migration_file_path)
157
157
  assert_match_in_file(/modify_table :users.*?drop_column :email/m, migration_file_path)
@@ -161,9 +161,9 @@ describe "MigrationGenerator" do
161
161
  end
162
162
 
163
163
  it 'should properly version migration files' do
164
- response_success = capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
165
- response_success = capture_io { generate(:migration, 'ModifyUserFields2', "-r=#{@apptmp}/sample_project") }
166
- response_success = capture_io { generate(:migration, 'ModifyUserFields3', "-r=#{@apptmp}/sample_project") }
164
+ capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
165
+ capture_io { generate(:migration, 'ModifyUserFields2', "-r=#{@apptmp}/sample_project") }
166
+ capture_io { generate(:migration, 'ModifyUserFields3', "-r=#{@apptmp}/sample_project") }
167
167
  assert_match_in_file(/migration\s1.*?:modify_user_fields/m, "#{@apptmp}/sample_project/db/migrate/001_modify_user_fields.rb")
168
168
  assert_match_in_file(/migration\s2.*?:modify_user_fields2/m, "#{@apptmp}/sample_project/db/migrate/002_modify_user_fields2.rb")
169
169
  assert_match_in_file(/migration\s3.*?:modify_user_fields3/m, "#{@apptmp}/sample_project/db/migrate/003_modify_user_fields3.rb")
@@ -176,7 +176,7 @@ describe "MigrationGenerator" do
176
176
  end
177
177
 
178
178
  it 'should generate migration for generic needs' do
179
- response_success = capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
179
+ capture_io { generate(:migration, 'ModifyUserFields', "-r=#{@apptmp}/sample_project") }
180
180
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_modify_user_fields.rb"
181
181
  assert_match_in_file(/Sequel\.migration/m, migration_file_path)
182
182
  assert_match_in_file(/up do\s+end/m, migration_file_path)
@@ -185,7 +185,7 @@ describe "MigrationGenerator" do
185
185
 
186
186
  it 'should generate migration for adding columns' do
187
187
  migration_params = ['AddEmailToUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
188
- response_success = capture_io { generate(:migration, *migration_params) }
188
+ capture_io { generate(:migration, *migration_params) }
189
189
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_add_email_to_users.rb"
190
190
  assert_match_in_file(/Sequel\.migration/m, migration_file_path)
191
191
  assert_match_in_file(/alter_table :users.*?add_column :email, String/m, migration_file_path)
@@ -196,7 +196,7 @@ describe "MigrationGenerator" do
196
196
 
197
197
  it 'should generate migration for removing columns' do
198
198
  migration_params = ['RemoveEmailFromUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
199
- response_success = capture_io { generate(:migration, *migration_params) }
199
+ capture_io { generate(:migration, *migration_params) }
200
200
  migration_file_path = "#{@apptmp}/sample_project/db/migrate/001_remove_email_from_users.rb"
201
201
  assert_match_in_file(/Sequel\.migration/m, migration_file_path)
202
202
  assert_match_in_file(/alter_table :users.*?drop_column :email/m, migration_file_path)
@@ -206,7 +206,7 @@ describe "MigrationGenerator" do
206
206
  end
207
207
  end
208
208
 
209
- describe "the migration destroy option" do
209
+ describe 'the migration destroy option' do
210
210
  before do
211
211
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=sequel') }
212
212
  @migration_params = ['RemoveEmailFromUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
@@ -214,7 +214,7 @@ describe "MigrationGenerator" do
214
214
 
215
215
  it 'should destroy the migration files' do
216
216
  capture_io { generate(:migration, *@migration_params) }
217
- capture_io { generate(:migration, 'RemoveEmailFromUsers', "-r=#{@apptmp}/sample_project",'-d') }
217
+ capture_io { generate(:migration, 'RemoveEmailFromUsers', "-r=#{@apptmp}/sample_project", '-d') }
218
218
  assert_no_file_exists("#{@apptmp}/sample_project/db/migrate/001_remove_email_from_users.rb")
219
219
  end
220
220
 
@@ -222,7 +222,7 @@ describe "MigrationGenerator" do
222
222
  migration_param2 = ['AddEmailFromUsers', 'email:string', 'age:integer', "-r=#{@apptmp}/sample_project"]
223
223
  capture_io { generate(:migration, *migration_param2) }
224
224
  capture_io { generate(:migration, *@migration_params) }
225
- capture_io { generate(:migration, 'RemoveEmailFromUsers', "-r=#{@apptmp}/sample_project",'-d') }
225
+ capture_io { generate(:migration, 'RemoveEmailFromUsers', "-r=#{@apptmp}/sample_project", '-d') }
226
226
  assert_no_file_exists("#{@apptmp}/sample_project/db/migrate/002_remove_email_from_users.rb")
227
227
  end
228
228
  end