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,43 +1,43 @@
1
1
  if PadrinoTasks.load?(:datamapper, defined?(DataMapper))
2
2
  namespace :dm do
3
3
  namespace :auto do
4
- desc "Perform auto migration (reset your db data)"
5
- task :migrate => :environment do
4
+ desc 'Perform auto migration (reset your db data)'
5
+ task migrate: :environment do
6
6
  ::DataMapper.repository.auto_migrate!
7
- puts "<= dm:auto:migrate executed"
7
+ puts '<= dm:auto:migrate executed'
8
8
  end
9
9
 
10
- desc "Perform non destructive auto migration"
11
- task :upgrade => :environment do
10
+ desc 'Perform non destructive auto migration'
11
+ task upgrade: :environment do
12
12
  ::DataMapper.repository.auto_upgrade!
13
- puts "<= dm:auto:upgrade executed"
13
+ puts '<= dm:auto:upgrade executed'
14
14
  end
15
15
  end
16
16
 
17
17
  namespace :migrate do
18
- task :load => :environment do
18
+ task load: :environment do
19
19
  require 'dm-migrations/migration_runner'
20
- FileList["db/migrate/*.rb"].each do |migration|
20
+ FileList['db/migrate/*.rb'].each do |migration|
21
21
  load migration
22
22
  end
23
23
  end
24
24
 
25
- desc "Migrate up using migrations"
26
- task :up, [:version] => :load do |t, args|
25
+ desc 'Migrate up using migrations'
26
+ task :up, [:version] => :load do |_t, args|
27
27
  version = args[:version] || env_migration_version
28
28
  migrate_up!(version)
29
29
  puts "<= dm:migrate:up #{version} executed"
30
30
  end
31
31
 
32
- desc "Migrate down using migrations"
33
- task :down, [:version] => :load do |t, args|
32
+ desc 'Migrate down using migrations'
33
+ task :down, [:version] => :load do |_t, args|
34
34
  version = args[:version] || env_migration_version
35
35
  migrate_down!(version)
36
36
  puts "<= dm:migrate:down #{version} executed"
37
37
  end
38
38
  end
39
39
 
40
- desc "Migrate the database to the latest version"
40
+ desc 'Migrate the database to the latest version'
41
41
  task :migrate do
42
42
  migrate_task = if Dir['db/migrate/*.rb'].empty?
43
43
  'dm:auto:upgrade'
@@ -48,49 +48,49 @@ if PadrinoTasks.load?(:datamapper, defined?(DataMapper))
48
48
  Rake::Task[migrate_task].invoke
49
49
  end
50
50
 
51
- desc "Create the database"
52
- task :create => :environment do
51
+ desc 'Create the database'
52
+ task create: :environment do
53
53
  config = Padrino::Utils.symbolize_keys(DataMapper.repository.adapter.options)
54
54
  adapter = config[:adapter]
55
55
  user, password, host = config[:user], config[:password], config[:host]
56
56
 
57
- database = config[:database] || config[:path]
58
- database.sub!(/^\//,'') unless adapter.start_with?('sqlite')
57
+ database = config[:database] || config[:path]
58
+ database.sub!(%r{^/}, '') unless adapter.start_with?('sqlite')
59
59
 
60
60
  charset = config[:charset] || ENV['CHARSET'] || 'utf8'
61
61
  collation = config[:collation] || ENV['COLLATION'] || 'utf8_unicode_ci'
62
62
 
63
63
  puts "=> Creating database '#{database}'"
64
64
  Padrino::Generators::SqlHelpers.create_db(adapter, user, password, host, database, charset, collation)
65
- puts "<= dm:create executed"
65
+ puts '<= dm:create executed'
66
66
  end
67
67
 
68
- desc "Drop the database (postgres and mysql only)"
69
- task :drop => :environment do
68
+ desc 'Drop the database (postgres and mysql only)'
69
+ task drop: :environment do
70
70
  config = Padrino::Utils.symbolize_keys(DataMapper.repository.adapter.options)
71
71
  adapter = config[:adapter]
72
72
  user, password, host = config[:user], config[:password], config[:host]
73
73
 
74
- database = config[:database] || config[:path]
75
- database.sub!(/^\//,'') unless adapter.start_with?('sqlite')
74
+ database = config[:database] || config[:path]
75
+ database.sub!(%r{^/}, '') unless adapter.start_with?('sqlite')
76
76
 
77
77
  puts "=> Dropping database '#{database}'"
78
78
  Padrino::Generators::SqlHelpers.drop_db(adapter, user, password, host, database)
79
- puts "<= dm:drop executed"
79
+ puts '<= dm:drop executed'
80
80
  end
81
81
 
82
- desc "Drop the database, migrate from scratch and initialize with the seed data"
83
- task :reset => [:drop, :setup]
82
+ desc 'Drop the database, migrate from scratch and initialize with the seed data'
83
+ task reset: %i[drop setup]
84
84
 
85
- desc "Create the database migrate and initialize with the seed data"
86
- task :setup => [:create, :migrate, :seed]
85
+ desc 'Create the database migrate and initialize with the seed data'
86
+ task setup: %i[create migrate seed]
87
87
  end
88
88
 
89
89
  task 'db:migrate:down' => 'dm:migrate:down'
90
90
  task 'db:migrate:up' => 'dm:migrate:up'
91
91
  task 'db:migrate' => 'dm:migrate'
92
- task 'db:create' => 'dm:create'
93
- task 'db:drop' => 'dm:drop'
94
- task 'db:reset' => 'dm:reset'
95
- task 'db:setup' => 'dm:setup'
92
+ task 'db:create' => 'dm:create'
93
+ task 'db:drop' => 'dm:drop'
94
+ task 'db:reset' => 'dm:reset'
95
+ task 'db:setup' => 'dm:setup'
96
96
  end
@@ -1,13 +1,13 @@
1
1
  if PadrinoTasks.load?(:minirecord, defined?(MiniRecord))
2
2
  namespace :mr do
3
3
  desc 'Auto migration of database'
4
- task :migrate => :environment do
5
- Dir["models/*.rb"].each do |file_path|
4
+ task migrate: :environment do
5
+ Dir['models/*.rb'].each do |file_path|
6
6
  basename = File.basename(file_path, File.extname(file_path))
7
7
  clazz = basename.camelize.constantize
8
8
  clazz.auto_upgrade! if clazz.ancestors.include?(ActiveRecord::Base)
9
9
  end
10
- puts "<= mr:migrate executed"
10
+ puts '<= mr:migrate executed'
11
11
  end
12
12
  end
13
13
 
@@ -2,7 +2,6 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
2
2
  require 'mongoid'
3
3
 
4
4
  namespace :mi do
5
-
6
5
  if Mongoid::VERSION =~ /^[012]\./
7
6
  # Mongoid 2 API
8
7
  def mongoid_collections
@@ -17,11 +16,9 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
17
16
  collection.db.collection(name)
18
17
  end
19
18
 
20
- def enum_mongoid_documents(collection)
21
- collection.find({}, :timeout => false, :sort => "_id") do |cursor|
22
- cursor.each do |doc|
23
- yield doc
24
- end
19
+ def enum_mongoid_documents(collection, &block)
20
+ collection.find({}, timeout: false, sort: '_id') do |cursor|
21
+ cursor.each(&block)
25
22
  end
26
23
  end
27
24
 
@@ -42,40 +39,37 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
42
39
  Mongoid.default_session[name]
43
40
  end
44
41
 
45
- def enum_mongoid_documents(collection)
46
- collection.find.sort(:_id => 1).each do |doc|
47
- yield doc
48
- end
42
+ def enum_mongoid_documents(collection, &block)
43
+ collection.find.sort(_id: 1).each(&block)
49
44
  end
50
45
 
51
46
  def rename_mongoid_collection(collection, new_name)
52
47
  db_name = collection.database.name
53
- collection.database.session.with(:database => :admin) do |admin|
48
+ collection.database.session.with(database: :admin) do |admin|
54
49
  admin.command(
55
- :renameCollection => "#{db_name}.#{collection.name}",
56
- :to => "#{db_name}.#{new_name}",
57
- :dropTarget => true)
50
+ renameCollection: "#{db_name}.#{collection.name}",
51
+ to: "#{db_name}.#{new_name}",
52
+ dropTarget: true
53
+ )
58
54
  end
59
55
  end
60
56
  end
61
57
 
62
58
  desc 'Drops all the collections for the database for the current Padrino.env'
63
- task :drop => :environment do
64
- mongoid_collections.select {|c| c.name !~ /system/ }.each(&:drop)
59
+ task drop: :environment do
60
+ mongoid_collections.reject { |c| c.name =~ /system/ }.each(&:drop)
65
61
  end
66
62
 
67
63
  # Helper to retrieve a list of models.
68
64
  def get_mongoid_models
69
65
  documents = []
70
66
  Dir['{app,.}/models/**/*.rb'].sort.each do |file|
71
- model_path = file[0..-4].split('/')[2..-1]
67
+ model_path = file[0..-4].split('/')[2..]
72
68
 
73
69
  begin
74
70
  klass = model_path.map(&:classify).join('::').constantize
75
- if klass.ancestors.include?(Mongoid::Document) && !klass.embedded
76
- documents << klass
77
- end
78
- rescue => e
71
+ documents << klass if klass.ancestors.include?(Mongoid::Document) && !klass.embedded
72
+ rescue StandardError
79
73
  # Just for non-mongoid objects that don't have the embedded
80
74
  # attribute at the class level.
81
75
  end
@@ -85,7 +79,7 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
85
79
  end
86
80
 
87
81
  desc 'Create the indexes defined on your mongoid models'
88
- task :create_indexes => :environment do
82
+ task create_indexes: :environment do
89
83
  get_mongoid_models.each(&:create_indexes)
90
84
  end
91
85
 
@@ -106,11 +100,11 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
106
100
  end
107
101
 
108
102
  def collection_names
109
- @collection_names ||= get_mongoid_models.map{ |d| d.collection.name }.uniq
103
+ @collection_names ||= get_mongoid_models.map { |d| d.collection.name }.uniq
110
104
  end
111
105
 
112
- desc "Convert string objectids in mongo database to ObjectID type"
113
- task :objectid_convert => :environment do
106
+ desc 'Convert string objectids in mongo database to ObjectID type'
107
+ task objectid_convert: :environment do
114
108
  collection_names.each do |collection_name|
115
109
  puts "Converting #{collection_name} to use ObjectIDs"
116
110
 
@@ -124,7 +118,7 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
124
118
  # Convert collection documents.
125
119
  enum_mongoid_documents(collection) do |doc|
126
120
  new_doc = convert_ids(doc)
127
- new_collection.insert(new_doc, :safe => true)
121
+ new_collection.insert(new_doc, safe: true)
128
122
  end
129
123
 
130
124
  puts "Done! Converted collection is in #{new_collection.name}\n\n"
@@ -157,20 +151,20 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
157
151
  end
158
152
  end
159
153
 
160
- puts "DONE! Run `padrino rake mi:cleanup_old_collections` to remove old collections"
154
+ puts 'DONE! Run `padrino rake mi:cleanup_old_collections` to remove old collections'
161
155
  end
162
156
 
163
- desc "Clean up old collections backed up by objectid_convert"
164
- task :cleanup_old_collections => :environment do
157
+ desc 'Clean up old collections backed up by objectid_convert'
158
+ task cleanup_old_collections: :environment do
165
159
  collection_names.each do |collection_name|
166
160
  collection = mongoid_collection(collection_name)
167
161
  mongoid_new_collection(collection, "#{collection.name}_old").drop
168
162
  end
169
163
  end
170
164
 
171
- desc "Generates .yml files for I18n translations"
172
- task :translate => :environment do
173
- models = Dir["#{Padrino.root}/{app,}/models/**/*.rb"].map { |m| File.basename(m, ".rb") }
165
+ desc 'Generates .yml files for I18n translations'
166
+ task translate: :environment do
167
+ models = Dir["#{Padrino.root}/{app,}/models/**/*.rb"].map { |m| File.basename(m, '.rb') }
174
168
 
175
169
  models.each do |m|
176
170
  # Get the model class.
@@ -194,17 +188,21 @@ if PadrinoTasks.load?(:mongoid, defined?(Mongoid))
194
188
  columns.each do |c|
195
189
  locale += "\n #{c}: #{c.humanize}" unless locale.include?("#{c}:")
196
190
  end
197
- print "Lang #{lang.to_s.upcase} already exist ... "; $stdout.flush
198
191
  else
199
- locale = "#{lang}:" + "\n" +
200
- " models:" + "\n" +
201
- " #{m}:" + "\n" +
202
- " name: #{klass.name}" + "\n" +
203
- " attributes:" + "\n" +
204
- columns.map { |c| " #{c}: #{c.humanize}" }.join("\n")
205
- print "created a new for #{lang.to_s.upcase} Lang ... "; $stdout.flush
192
+ locale = <<~YAML
193
+ #{lang}:
194
+ models:
195
+ #{m}:
196
+ name: #{klass.model_name.human}
197
+ attributes:
198
+ YAML
199
+
200
+ columns.each { |c| locale += " #{c}: #{c.humanize}\n" }
201
+ locale.chomp!
206
202
  end
207
- File.open(filename, "w") { |f| f.puts locale }
203
+
204
+ $stdout.flush
205
+ File.open(filename, 'w') { |f| f.puts locale }
208
206
  end
209
207
  puts
210
208
  end
@@ -7,13 +7,13 @@ if defined?(MongoMapper)
7
7
 
8
8
  namespace :mm do
9
9
  desc 'Drops all the collections for the database for the current Padrino.env'
10
- task :drop => :environment do
11
- MongoMapper.database.collections.select {|c| c.name !~ /system/ }.each(&:drop)
10
+ task drop: :environment do
11
+ MongoMapper.database.collections.reject { |c| c.name =~ /system/ }.each(&:drop)
12
12
  end
13
13
 
14
- desc "Generates .yml files for I18n translations"
15
- task :translate => :environment do
16
- models = Dir["#{Padrino.root}/{app,}/models/**/*.rb"].map { |m| File.basename(m, ".rb") }
14
+ desc 'Generates .yml files for I18n translations'
15
+ task translate: :environment do
16
+ models = Dir["#{Padrino.root}/{app,}/models/**/*.rb"].map { |m| File.basename(m, '.rb') }
17
17
 
18
18
  models.each do |m|
19
19
  # Get the model class.
@@ -34,17 +34,21 @@ if defined?(MongoMapper)
34
34
  columns.each do |c|
35
35
  locale += "\n #{c}: #{c.humanize}" unless locale.include?("#{c}:")
36
36
  end
37
- print "Lang #{lang.to_s.upcase} already exist ... "; $stdout.flush
38
37
  else
39
- locale = "#{lang}:" + "\n" +
40
- " models:" + "\n" +
41
- " #{m}:" + "\n" +
42
- " name: #{klass.human_name}" + "\n" +
43
- " attributes:" + "\n" +
44
- columns.map { |c| " #{c}: #{c.humanize}" }.join("\n")
45
- print "created a new for #{lang.to_s.upcase} Lang ... "; $stdout.flush
38
+ locale = <<~YAML
39
+ #{lang}:
40
+ models:
41
+ #{m}:
42
+ name: #{klass.model_name.human}
43
+ attributes:
44
+ YAML
45
+
46
+ columns.each { |c| locale += " #{c}: #{c.humanize}\n" }
47
+ locale.chomp!
46
48
  end
47
- File.open(filename, "w") { |f| f.puts locale }
49
+
50
+ $stdout.flush
51
+ File.open(filename, 'w') { |f| f.puts locale }
48
52
  end
49
53
  puts
50
54
  end
@@ -1,47 +1,47 @@
1
1
  if PadrinoTasks.load?(:sequel, defined?(Sequel))
2
2
  namespace :sq do
3
3
  namespace :migrate do
4
- desc "Perform automigration (reset your db data)"
5
- task :auto => :skeleton do
4
+ desc 'Perform automigration (reset your db data)'
5
+ task auto: :skeleton do
6
6
  ::Sequel.extension :migration
7
- ::Sequel::Migrator.run Sequel::Model.db, "db/migrate", :target => 0
8
- ::Sequel::Migrator.run Sequel::Model.db, "db/migrate"
9
- puts "<= sq:migrate:auto executed"
7
+ ::Sequel::Migrator.run Sequel::Model.db, 'db/migrate', target: 0
8
+ ::Sequel::Migrator.run Sequel::Model.db, 'db/migrate'
9
+ puts '<= sq:migrate:auto executed'
10
10
  end
11
11
 
12
- desc "Perform migration up/down to MIGRATION_VERSION"
13
- task :to, [:version] => :skeleton do |t, args|
12
+ desc 'Perform migration up/down to MIGRATION_VERSION'
13
+ task :to, [:version] => :skeleton do |_t, args|
14
14
  version = (args[:version] || env_migration_version).to_s.strip
15
15
  ::Sequel.extension :migration
16
- fail "No MIGRATION_VERSION was provided" if version.empty?
17
- ::Sequel::Migrator.apply(Sequel::Model.db, "db/migrate", version.to_i)
16
+ raise 'No MIGRATION_VERSION was provided' if version.empty?
17
+ ::Sequel::Migrator.apply(Sequel::Model.db, 'db/migrate', version.to_i)
18
18
  puts "<= sq:migrate:to[#{version}] executed"
19
19
  end
20
20
 
21
- desc "Perform migration up to latest migration available"
22
- task :up => :skeleton do
21
+ desc 'Perform migration up to latest migration available'
22
+ task up: :skeleton do
23
23
  ::Sequel.extension :migration
24
- ::Sequel::Migrator.run Sequel::Model.db, "db/migrate"
25
- puts "<= sq:migrate:up executed"
24
+ ::Sequel::Migrator.run Sequel::Model.db, 'db/migrate'
25
+ puts '<= sq:migrate:up executed'
26
26
  end
27
27
 
28
- desc "Perform migration down (erase all data)"
29
- task :down => :skeleton do
28
+ desc 'Perform migration down (erase all data)'
29
+ task down: :skeleton do
30
30
  ::Sequel.extension :migration
31
- ::Sequel::Migrator.run Sequel::Model.db, "db/migrate", :target => 0
32
- puts "<= sq:migrate:down executed"
31
+ ::Sequel::Migrator.run Sequel::Model.db, 'db/migrate', target: 0
32
+ puts '<= sq:migrate:down executed'
33
33
  end
34
34
  end
35
35
 
36
- desc "Perform migration up to latest migration available"
37
- task :migrate => 'sq:migrate:up'
36
+ desc 'Perform migration up to latest migration available'
37
+ task migrate: 'sq:migrate:up'
38
38
 
39
- desc "Create the database"
40
- task :create => :skeleton do
39
+ desc 'Create the database'
40
+ task create: :skeleton do
41
41
  config = Sequel::Model.db.opts
42
42
  user, password, host = config[:user], config[:password], config[:host]
43
43
  database = config[:database]
44
- charset = config[:charset] || ENV['CHARSET'] || 'utf8'
44
+ charset = config[:charset] || ENV['CHARSET'] || 'utf8'
45
45
  collation = config[:collation] || ENV['COLLATION'] || 'utf8_unicode_ci'
46
46
 
47
47
  puts "=> Creating database '#{database}'"
@@ -51,11 +51,11 @@ if PadrinoTasks.load?(:sequel, defined?(Sequel))
51
51
  require 'padrino-gen/padrino-tasks/sql-helpers'
52
52
  Padrino::Generators::SqlHelpers.create_db(config[:adapter], user, password, host, database, charset, collation)
53
53
  end
54
- puts "<= sq:create executed"
54
+ puts '<= sq:create executed'
55
55
  end
56
56
 
57
- desc "Drop the database (postgres and mysql only)"
58
- task :drop => :skeleton do
57
+ desc 'Drop the database (postgres and mysql only)'
58
+ task drop: :skeleton do
59
59
  config = ::Sequel::Model.db.opts
60
60
  user, password, host, database = config[:user], config[:password], config[:host], config[:database]
61
61
 
@@ -67,13 +67,13 @@ if PadrinoTasks.load?(:sequel, defined?(Sequel))
67
67
  else
68
68
  Padrino::Generators::SqlHelpers.drop_db(config[:adapter], user, password, host, database)
69
69
  end
70
- puts "<= sq:drop executed"
70
+ puts '<= sq:drop executed'
71
71
  end
72
72
 
73
73
  desc 'Drop the database, migrate from scratch and initialize with the seed data'
74
- task :reset => ['drop', 'create', 'migrate', 'seed']
74
+ task reset: %w[drop create migrate seed]
75
75
 
76
- task :seed => :environment do
76
+ task seed: :environment do
77
77
  missing_model_features = Padrino.send(:default_dependency_paths) - Padrino.send(:dependency_paths)
78
78
  Padrino.require_dependencies(missing_model_features)
79
79
  Rake::Task['db:seed'].invoke
@@ -5,66 +5,66 @@ module Padrino
5
5
  module SqlHelpers
6
6
  def self.create_db(adapter, user, password, host, database, charset, collation)
7
7
  case adapter
8
- when 'postgres'
9
- environment = {}
10
- environment['PGPASSWORD'] = password unless password.nil? || password.empty?
8
+ when 'postgres'
9
+ environment = {}
10
+ environment['PGPASSWORD'] = password unless password.nil? || password.empty?
11
11
 
12
- arguments = []
13
- arguments << "--encoding=#{charset}" if charset
14
- arguments << "--host=#{host}" if host
15
- arguments << "--username=#{user}" if user
16
- arguments << database
12
+ arguments = []
13
+ arguments << "--encoding=#{charset}" if charset
14
+ arguments << "--host=#{host}" if host
15
+ arguments << "--username=#{user}" if user
16
+ arguments << database
17
17
 
18
- Process.wait Process.spawn(environment, 'createdb', *arguments)
19
- when 'mysql', 'mysql2'
20
- environment = {}
21
- environment['MYSQL_PWD'] = password unless password.nil? || password.empty?
18
+ Process.wait Process.spawn(environment, 'createdb', *arguments)
19
+ when 'mysql', 'mysql2'
20
+ environment = {}
21
+ environment['MYSQL_PWD'] = password unless password.nil? || password.empty?
22
22
 
23
- arguments = []
24
- arguments << "--user=#{user}" if user
25
- arguments << "--host=#{host}" unless %w[127.0.0.1 localhost].include?(host)
23
+ arguments = []
24
+ arguments << "--user=#{user}" if user
25
+ arguments << "--host=#{host}" unless %w[127.0.0.1 localhost].include?(host)
26
26
 
27
- arguments << '-e'
28
- arguments << "CREATE DATABASE #{database} DEFAULT CHARACTER SET #{charset} DEFAULT COLLATE #{collation}"
27
+ arguments << '-e'
28
+ arguments << "CREATE DATABASE #{database} DEFAULT CHARACTER SET #{charset} DEFAULT COLLATE #{collation}"
29
29
 
30
- Process.wait Process.spawn(environment, 'mysql', *arguments)
31
- when 'sqlite', 'sqlite3'
32
- fail "Database #{database} already exists" if File.file?(database)
33
- FileUtils.mkdir_p(File.dirname(database))
34
- File.open(database, 'a') {}
35
- else
36
- raise "Adapter #{adapter} not supported for creating databases yet."
30
+ Process.wait Process.spawn(environment, 'mysql', *arguments)
31
+ when 'sqlite', 'sqlite3'
32
+ raise "Database #{database} already exists" if File.file?(database)
33
+ FileUtils.mkdir_p(File.dirname(database))
34
+ File.open(database, 'a') {}
35
+ else
36
+ raise "Adapter #{adapter} not supported for creating databases yet."
37
37
  end
38
38
  end
39
39
 
40
40
  def self.drop_db(adapter, user, password, host, database)
41
41
  case adapter
42
- when 'postgres'
43
- environment = {}
44
- environment['PGPASSWORD'] = password unless password.nil? || password.empty?
42
+ when 'postgres'
43
+ environment = {}
44
+ environment['PGPASSWORD'] = password unless password.nil? || password.empty?
45
45
 
46
- arguments = []
47
- arguments << "--host=#{host}" if host
48
- arguments << "--username=#{user}" if user
49
- arguments << database
46
+ arguments = []
47
+ arguments << "--host=#{host}" if host
48
+ arguments << "--username=#{user}" if user
49
+ arguments << database
50
50
 
51
- Process.wait Process.spawn(environment, 'dropdb', *arguments)
52
- when 'mysql', 'mysql2'
53
- environment = {}
54
- environment['MYSQL_PWD'] = password unless password.nil? || password.empty?
51
+ Process.wait Process.spawn(environment, 'dropdb', *arguments)
52
+ when 'mysql', 'mysql2'
53
+ environment = {}
54
+ environment['MYSQL_PWD'] = password unless password.nil? || password.empty?
55
55
 
56
- arguments = []
57
- arguments << "--user=#{user}" if user
58
- arguments << "--host=#{host}" unless %w[127.0.0.1 localhost].include?(host)
56
+ arguments = []
57
+ arguments << "--user=#{user}" if user
58
+ arguments << "--host=#{host}" unless %w[127.0.0.1 localhost].include?(host)
59
59
 
60
- arguments << '-e'
61
- arguments << "DROP DATABASE IF EXISTS #{database}"
60
+ arguments << '-e'
61
+ arguments << "DROP DATABASE IF EXISTS #{database}"
62
62
 
63
- Process.wait Process.spawn(environment, 'mysql', *arguments)
64
- when 'sqlite', 'sqlite3'
65
- File.delete(database) if File.file?(database)
66
- else
67
- raise "Adapter #{adapter} not supported for dropping databases yet."
63
+ Process.wait Process.spawn(environment, 'mysql', *arguments)
64
+ when 'sqlite', 'sqlite3'
65
+ File.delete(database) if File.file?(database)
66
+ else
67
+ raise "Adapter #{adapter} not supported for dropping databases yet."
68
68
  end
69
69
  end
70
70
  end
data/lib/padrino-gen.rb CHANGED
@@ -20,7 +20,7 @@ module Padrino
20
20
  #
21
21
  module Generators
22
22
  # Defines the absolute path to the padrino source folder.
23
- DEV_PATH = File.expand_path("../../", File.dirname(__FILE__))
23
+ DEV_PATH = File.expand_path('../../', __dir__)
24
24
 
25
25
  class << self
26
26
  ##
@@ -61,14 +61,14 @@ module Padrino
61
61
  require 'padrino-gen/generators/actions'
62
62
  require 'padrino-gen/generators/components/actions'
63
63
  require 'padrino-gen/generators/runner'
64
- load_paths.flatten.each { |file| require file }
64
+ load_paths.flatten.each { |file| require file }
65
65
  end
66
66
  end
67
67
  end
68
68
  end
69
69
 
70
70
  # Add our generators to Padrino::Generators.
71
- Padrino::Generators.load_paths << Dir[File.dirname(__FILE__) + '/padrino-gen/generators/{project,app,mailer,controller,helper,model,migration,plugin,component,task}.rb']
71
+ Padrino::Generators.load_paths << Dir["#{__dir__}/padrino-gen/generators/{project,app,mailer,controller,helper,model,migration,plugin,component,task}.rb"]
72
72
 
73
73
  # Add our tasks to padrino-core.
74
- Padrino::Tasks.files << Dir[File.dirname(__FILE__) + "/padrino-gen/padrino-tasks/**/*.rb"]
74
+ Padrino::Tasks.files << Dir["#{__dir__}/padrino-gen/padrino-tasks/**/*.rb"]