padrino-gen 0.12.9 → 0.13.0.beta1

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 (43) hide show
  1. checksums.yaml +5 -13
  2. data/bin/padrino-gen +2 -2
  3. data/lib/padrino-gen/generators/actions.rb +5 -17
  4. data/lib/padrino-gen/generators/app/app.rb.tt +2 -3
  5. data/lib/padrino-gen/generators/components/mocks/mocha.rb +1 -1
  6. data/lib/padrino-gen/generators/components/orms/activerecord.rb +1 -1
  7. data/lib/padrino-gen/generators/components/orms/datamapper.rb +0 -16
  8. data/lib/padrino-gen/generators/components/orms/mongoid.rb +38 -19
  9. data/lib/padrino-gen/generators/components/orms/mongomapper.rb +0 -1
  10. data/lib/padrino-gen/generators/components/stylesheets/compass.rb +16 -5
  11. data/lib/padrino-gen/generators/components/tests/bacon.rb +0 -2
  12. data/lib/padrino-gen/generators/components/tests/minitest.rb +0 -2
  13. data/lib/padrino-gen/generators/components/tests/riot.rb +0 -2
  14. data/lib/padrino-gen/generators/components/tests/rspec.rb +1 -5
  15. data/lib/padrino-gen/generators/components/tests/shoulda.rb +0 -3
  16. data/lib/padrino-gen/generators/components/tests/steak.rb +0 -2
  17. data/lib/padrino-gen/generators/controller.rb +0 -1
  18. data/lib/padrino-gen/generators/helper.rb +0 -1
  19. data/lib/padrino-gen/generators/mailer.rb +0 -1
  20. data/lib/padrino-gen/generators/migration.rb +0 -1
  21. data/lib/padrino-gen/generators/plugin.rb +1 -1
  22. data/lib/padrino-gen/generators/project/config/boot.rb +0 -11
  23. data/lib/padrino-gen/generators/project.rb +2 -3
  24. data/lib/padrino-gen/generators/runner.rb +0 -1
  25. data/lib/padrino-gen/generators/task.rb +0 -1
  26. data/lib/padrino-gen/generators/templates/Gemfile.tt +0 -10
  27. data/lib/padrino-gen/generators/templates/Rakefile.tt +0 -2
  28. data/lib/padrino-gen/generators/templates/controller.rb.tt +1 -1
  29. data/lib/padrino-gen/padrino-tasks/activerecord.rb +10 -16
  30. data/lib/padrino-gen/padrino-tasks/datamapper.rb +2 -4
  31. data/lib/padrino-gen/padrino-tasks/sequel.rb +3 -4
  32. data/test/helper.rb +17 -14
  33. data/test/test_component_generator.rb +3 -5
  34. data/test/test_controller_generator.rb +0 -13
  35. data/test/test_helper_generator.rb +0 -13
  36. data/test/test_mailer_generator.rb +0 -5
  37. data/test/test_migration_generator.rb +0 -5
  38. data/test/test_model_generator.rb +24 -30
  39. data/test/test_plugin_generator.rb +0 -4
  40. data/test/test_project_generator.rb +8 -23
  41. data/test/test_task_generator.rb +0 -5
  42. metadata +46 -28
  43. data/lib/padrino-gen/generators/components/tests/testunit.rb +0 -112
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- Y2ZmNDEwYTE1NmE2NGNjZjA5NmZhNTRmYjE0NTdiMjhjYTAyMmE2OA==
5
- data.tar.gz: !binary |-
6
- ODQ1NWVjOGU4MTE0MWI3MmI2NGQ3MTA1YzU3NDRiOTIzMzc0MmJkNQ==
2
+ SHA1:
3
+ metadata.gz: 3417ec67988324174088f6cfd71fa88935bbcf24
4
+ data.tar.gz: 06002f5bc93956942455fbefac8140fb872eda77
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OTI4MjIxMmNjNjI5ZDlmMjhkZmViYzM0Y2Q1YmEyNjAzOGM3N2VhOWVmZTdi
10
- Mjg0YWE5OWMyMzE2MDExZjc4YTExMWU1OGQwMGE4YTQ5NDBhNzUyNDgyN2Q2
11
- ZTBhYjQxYzUwZWNhOThiN2RjNTI1ZjMzMjA3ODgyY2MyZGE4NWQ=
12
- data.tar.gz: !binary |-
13
- NTNiMzQyNDQwZmI0NGE4ZjZmOTgwMWM1M2I5NmY4MGZiMTVlNDE3ZTYyYzYw
14
- ZDkxMDAxODhlZjZlZmI3MmEwYmQyYmM5YjQ0Y2M0MDhjNWY2N2Y0NDlkOTY0
15
- OGE1MjM1ODc4OTNjOWNhZTE1NGE4OTAyNDc4ZjRmZDA2MjE2Mjc=
6
+ metadata.gz: 49b82476e19803ba0e284519518058ae101d48b26c5d8f66fdf720734d912a958d40feed06952e488af063eb6c6bdca937b8a34e33b1c53c3acde215c26658bd
7
+ data.tar.gz: 7cf1ff30dda912f122dc8b08c4f0de46a54e44aef97b3c244ef5205176fde6e7b1fa415b1591496835958a174b729f91df7989ae70e587ecdf4429f379740781
data/bin/padrino-gen CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
- require 'padrino-core/cli/binstub'
3
- Padrino.replace_with_binstub('padrino-gen')
2
+ require 'rubygems' unless defined?(Gem) # Useful only on --dev mode
3
+ require 'bundler/setup' if %w(Gemfile .components).all? { |f| File.exist?(f) }
4
4
 
5
5
  padrino_gen_path = File.expand_path('../../lib', __FILE__)
6
6
  $:.unshift(padrino_gen_path) if File.directory?(padrino_gen_path) && !$:.include?(padrino_gen_path)
@@ -377,9 +377,9 @@ WARNING
377
377
  #
378
378
  def initializer(name, data=nil)
379
379
  @_init_name, @_init_data = name, data
380
- register = data ? " register #{name.to_s.underscore.camelize}Initializer\n" : " register #{name}\n"
380
+ register = data.present? ? " register #{name.to_s.underscore.camelize}Initializer\n" : " register #{name}\n"
381
381
  inject_into_file destination_root("/app/app.rb"), register, :after => "Padrino::Application\n"
382
- template "templates/initializer.rb.tt", destination_root("/config/initializers/#{name}.rb") if data
382
+ template "templates/initializer.rb.tt", destination_root("/lib/#{name}_initializer.rb") if data.present?
383
383
  end
384
384
 
385
385
  ##
@@ -520,24 +520,12 @@ WARNING
520
520
  #
521
521
  def valid_constant?(name)
522
522
  if name =~ /^\d/
523
- fail ::NameError, "Constant name #{name} cannot start with numbers"
523
+ raise ::NameError, "Project name #{name} cannot start with numbers"
524
524
  elsif name =~ /^\W/
525
- fail ::NameError, "Constant name #{name} cannot start with non-word character"
525
+ raise ::NameError, "Project name #{name} cannot start with non-word character"
526
526
  end
527
527
  end
528
528
 
529
- ##
530
- # Validates namespace name (controller name, etc.) or fails with an error.
531
- #
532
- # @example
533
- # validate_namespace 'Project_One1' #=> pass
534
- # validate_namespace 'Erroneous/name' #=> fail
535
- #
536
- def validate_namespace(name)
537
- valid_constant? name
538
- name.match(/^[[:alnum:]_]+$/) || fail(::NameError, "Namespace '#{name}' must consist only of alphanumeric characters or '_'")
539
- end
540
-
541
529
  ##
542
530
  # Recognizes the path of application.
543
531
  #
@@ -592,7 +580,7 @@ WARNING
592
580
  [ :test, 'testing framework', { :aliases => '-t', :default => :none }],
593
581
  [ :mock, 'mocking library', { :aliases => '-m', :default => :none }],
594
582
  [ :script, 'javascript library', { :aliases => '-s', :default => :none }],
595
- [ :renderer, 'template engine', { :aliases => '-e', :default => :slim }],
583
+ [ :renderer, 'template engine', { :aliases => '-e', :default => :none }],
596
584
  [ :stylesheet, 'stylesheet engine', { :aliases => '-c', :default => :none }]
597
585
  ].each do |name, caption, opts|
598
586
  opts[:default] = '' if options[:default] == false
@@ -1,9 +1,8 @@
1
1
  module <%= @project_name %>
2
2
  class <%= @app_name %> < Padrino::Application
3
- <% unless options.api? -%>
4
3
  register Padrino::Mailer
5
4
  register Padrino::Helpers
6
- <% end -%>
5
+
7
6
  enable :sessions
8
7
 
9
8
  ##
@@ -16,7 +15,7 @@ module <%= @project_name %>
16
15
  #
17
16
  # set :cache, Padrino::Cache.new(:LRUHash) # Keeps cached values in memory
18
17
  # set :cache, Padrino::Cache.new(:Memcached) # Uses default server at localhost
19
- # set :cache, Padrino::Cache.new(:Memcached, :server => '127.0.0.1:11211', :exception_retry_limit => 1)
18
+ # set :cache, Padrino::Cache.new(:Memcached, '127.0.0.1:11211', :exception_retry_limit => 1)
20
19
  # set :cache, Padrino::Cache.new(:Memcached, :backend => memcached_or_dalli_instance)
21
20
  # set :cache, Padrino::Cache.new(:Redis) # Uses default server at localhost
22
21
  # set :cache, Padrino::Cache.new(:Redis, :host => '127.0.0.1', :port => 6379, :db => 0)
@@ -4,7 +4,7 @@ def setup_mock
4
4
  when 'rspec'
5
5
  inject_into_file 'spec/spec_helper.rb', " conf.mock_with :mocha\n", :after => "RSpec.configure do |conf|\n"
6
6
  else
7
- inject_into_file 'test/test_config.rb', "require 'mocha/api'\n", :after => "require File.expand_path(File.dirname(__FILE__) + \"/../config/boot\")\n"
7
+ inject_into_file 'test/test_config.rb', "require 'mocha/api'", :after => "require File.expand_path(File.dirname(__FILE__) + \"/../config/boot\")\n"
8
8
  insert_mocking_include "Mocha::API"
9
9
  end
10
10
  end
@@ -168,7 +168,7 @@ MIGRATION
168
168
  AR_MODEL_UP_MG = (<<-MIGRATION).gsub(/^/,' ') unless defined?(AR_MODEL_UP_MG)
169
169
  create_table :!TABLE! do |t|
170
170
  !FIELDS!
171
- t.timestamps null: false
171
+ t.timestamps
172
172
  end
173
173
  MIGRATION
174
174
 
@@ -41,21 +41,6 @@ case Padrino.env
41
41
  end
42
42
  DM
43
43
 
44
- IDENTITY_MAP_MIDDLEWARE = <<-MIDDLEWARE
45
- class IdentityMap
46
- def initialize(app, name = :default)
47
- @app = app
48
- @name = name.to_sym
49
- end
50
-
51
- def call(env)
52
- ::DataMapper.repository(@name) do
53
- @app.call(env)
54
- end
55
- end
56
- end
57
- MIDDLEWARE
58
-
59
44
  def setup_orm
60
45
  dm = DM
61
46
  db = @project_name.underscore
@@ -88,7 +73,6 @@ def setup_orm
88
73
 
89
74
  create_file("config/database.rb", dm)
90
75
  insert_hook("DataMapper.finalize", :after_load)
91
- middleware :identity_map, IDENTITY_MAP_MIDDLEWARE
92
76
  end
93
77
 
94
78
  DM_MODEL = (<<-MODEL) unless defined?(DM_MODEL)
@@ -1,4 +1,31 @@
1
1
  MONGOID = (<<-MONGO) unless defined?(MONGOID)
2
+ # Connection.new takes host and port
3
+ host = 'localhost'
4
+ port = Mongo::Connection::DEFAULT_PORT
5
+
6
+ database_name = case Padrino.env
7
+ when :development then '!NAME!_development'
8
+ when :production then '!NAME!_production'
9
+ when :test then '!NAME!_test'
10
+ end
11
+
12
+ Mongoid.database = Mongo::Connection.new(host, port).db(database_name)
13
+
14
+ # You can also configure Mongoid this way:
15
+ # Mongoid.configure do |config|
16
+ # name = @settings["database"]
17
+ # host = @settings["host"]
18
+ # config.master = Mongo::Connection.new.db(name)
19
+ # config.slaves = [
20
+ # Mongo::Connection.new(host, @settings["slave_one"]["port"], :slave_ok => true).db(name),
21
+ # Mongo::Connection.new(host, @settings["slave_two"]["port"], :slave_ok => true).db(name)
22
+ # ]
23
+ # end
24
+ #
25
+ # More installation and setup notes are on http://mongoid.org/.
26
+ MONGO
27
+
28
+ MONGOID3 = (<<-MONGO) unless defined?(MONGOID3)
2
29
  # Connection.new takes host and port.
3
30
 
4
31
  host = 'localhost'
@@ -11,18 +38,12 @@ database_name = case Padrino.env
11
38
  end
12
39
 
13
40
  # Use MONGO_URI if it's set as an environmental variable.
14
- database_settings = if ENV['MONGO_URI']
15
- {default: {uri: ENV['MONGO_URI'] }}
16
- else
17
- {default: {hosts: ["#\{host\}:#\{port\}"], database: database_name}}
18
- end
19
-
20
- case Mongoid::VERSION
21
- when /^(3|4)/
22
- Mongoid::Config.sessions = database_settings
23
- else
24
- Mongoid::Config.load_configuration :clients => database_settings
25
- end
41
+ Mongoid::Config.sessions =
42
+ if ENV['MONGO_URI']
43
+ {default: {uri: ENV['MONGO_URI'] }}
44
+ else
45
+ {default: {hosts: ["#\{host\}:#\{port\}"], database: database_name}}
46
+ end
26
47
 
27
48
  # If you want to use a YML file for config, use this instead:
28
49
  #
@@ -30,33 +51,31 @@ end
30
51
  #
31
52
  # And add a config/database.yml file like this:
32
53
  # development:
33
- # clients: #Replace clients with sessions to work with Mongoid version 3.x or 4.x
54
+ # sessions:
34
55
  # default:
35
56
  # database: !NAME!_development
36
57
  # hosts:
37
58
  # - localhost:27017
38
- #
39
59
  # production:
40
- # clients: #Replace clients with sessions to work with Mongoid version 3.x or 4.x
60
+ # sessions:
41
61
  # default:
42
62
  # database: !NAME!_production
43
63
  # hosts:
44
64
  # - localhost:27017
45
- #
46
65
  # test:
47
- # clients: #Replace clients with sessions to work with Mongoid version 3.x or 4.x
66
+ # sessions:
48
67
  # default:
49
68
  # database: !NAME!_test
50
69
  # hosts:
51
70
  # - localhost:27017
52
71
  #
53
72
  #
54
- # More installation and setup notes are on https://docs.mongodb.org/ecosystem/tutorial/mongoid-installation/
73
+ # More installation and setup notes are on http://mongoid.org/en/mongoid/docs/installation.html#configuration
55
74
  MONGO
56
75
 
57
76
  def setup_orm
58
77
  require_dependencies 'mongoid', :version => '>= 3.0.0'
59
- create_file('config/database.rb', MONGOID.gsub(/!NAME!/, @project_name.underscore))
78
+ create_file('config/database.rb', MONGOID3.gsub(/!NAME!/, @project_name.underscore))
60
79
  end
61
80
 
62
81
  MONGOID_MODEL = (<<-MODEL) unless defined?(MONGOID_MODEL)
@@ -11,7 +11,6 @@ MONGO
11
11
  def setup_orm
12
12
  require_dependencies 'mongo_mapper'
13
13
  require_dependencies 'bson_ext', :require => 'mongo'
14
- require_dependencies 'activemodel', :version => '< 5'
15
14
  create_file("config/database.rb", MONGO.gsub(/!NAME!/, @project_name.underscore))
16
15
  end
17
16
 
@@ -1,7 +1,10 @@
1
1
  COMPASS_INIT = <<-COMPASS unless defined?(COMPASS_INIT)
2
- # Enables support for Compass, a stylesheet authoring framework based on SASS.
3
- # See http://compass-style.org/ for more details.
4
- # Store Compass/SASS files (by default) within 'app/stylesheets'.
2
+ # Enables support for Compass, a stylesheet authoring framework based on SASS.
3
+ # See http://compass-style.org/ for more details.
4
+ # Store Compass/SASS files (by default) within 'app/stylesheets'.
5
+
6
+ module CompassInitializer
7
+ def self.registered(app)
5
8
  require 'sass/plugin/rack'
6
9
 
7
10
  Compass.configuration do |config|
@@ -19,10 +22,18 @@ COMPASS_INIT = <<-COMPASS unless defined?(COMPASS_INIT)
19
22
  Compass.handle_configuration_change!
20
23
 
21
24
  app.use Sass::Plugin::Rack
25
+ end
26
+ end
22
27
  COMPASS
23
28
 
29
+ COMPASS_REGISTER = <<-COMPASSR unless defined?(COMPASS_REGISTER)
30
+ register CompassInitializer\n
31
+ COMPASSR
32
+
24
33
  def setup_stylesheet
25
- require_dependencies 'compass-blueprint'
26
- initializer :compass, COMPASS_INIT.chomp
34
+ require_dependencies 'compass'
35
+ create_file destination_root('/lib/compass_plugin.rb'), COMPASS_INIT
36
+ inject_into_file destination_root('/app/app.rb'), COMPASS_REGISTER, :after => "register Padrino::Helpers\n"
37
+
27
38
  directory "components/stylesheets/compass/", destination_root('/app/stylesheets')
28
39
  end
@@ -47,8 +47,6 @@ end
47
47
 
48
48
  desc "Run application test suite"
49
49
  task 'test' => test_tasks.map { |f| "test:\#{f}" }
50
-
51
- task :default => :test
52
50
  TEST
53
51
 
54
52
  BACON_MODEL_TEST = (<<-TEST).gsub(/^ {10}/, '') unless defined?(BACON_MODEL_TEST)
@@ -36,8 +36,6 @@ end
36
36
 
37
37
  desc "Run application test suite"
38
38
  task 'test' => test_tasks.map { |f| "test:\#{f}" }
39
-
40
- task :default => :test
41
39
  TEST
42
40
 
43
41
  MINITEST_CONTROLLER_TEST = (<<-TEST).gsub(/^ {10}/, '') unless defined?(MINITEST_CONTROLLER_TEST)
@@ -59,8 +59,6 @@ end
59
59
 
60
60
  desc "Run application test suite"
61
61
  task 'test' => test_tasks.map { |f| "test:\#{f}" }
62
-
63
- task :default => :test
64
62
  TEST
65
63
 
66
64
  RIOT_MODEL_TEST = (<<-TEST).gsub(/^ {10}/, '') unless defined?(RIOT_MODEL_TEST)
@@ -57,12 +57,8 @@ begin
57
57
  desc "Run complete application spec suite"
58
58
  task 'spec' => spec_tasks.map { |f| "spec:\#{f}" }
59
59
  rescue LoadError
60
- task :spec do
61
- puts "RSpec is not part of this bundle, skip specs."
62
- end
60
+ puts "RSpec is not part of this bundle, skip specs."
63
61
  end
64
-
65
- task :default => :spec
66
62
  TEST
67
63
 
68
64
  RSPEC_MODEL_TEST = (<<-TEST).gsub(/^ {12}/, '') unless defined?(RSPEC_MODEL_TEST)
@@ -54,8 +54,6 @@ end
54
54
 
55
55
  desc "Run application test suite"
56
56
  task 'test' => test_tasks.map { |f| "test:\#{f}" }
57
-
58
- task :default => :test
59
57
  TEST
60
58
 
61
59
  SHOULDA_MODEL_TEST = (<<-TEST).gsub(/^ {10}/, '') unless defined?(SHOULDA_MODEL_TEST)
@@ -91,7 +89,6 @@ TEST
91
89
  def setup_test
92
90
  require_dependencies 'rack-test', :require => 'rack/test', :group => 'test'
93
91
  require_dependencies 'shoulda', :group => 'test'
94
- require_dependencies 'test-unit', :group => 'test'
95
92
  insert_test_suite_setup SHOULDA_SETUP
96
93
  create_file destination_root("test/test.rake"), SHOULDA_RAKE
97
94
  end
@@ -60,8 +60,6 @@ end
60
60
 
61
61
  desc "Run complete application spec suite"
62
62
  task 'spec' => spec_tasks.map { |f| "spec:\#{f}" }
63
-
64
- task :default => :spec
65
63
  TEST
66
64
 
67
65
  STEAK_MODEL_TEST = (<<-TEST).gsub(/^ {12}/, '') unless defined?(STEAK_MODEL_TEST)
@@ -36,7 +36,6 @@ module Padrino
36
36
  # Execute controller generation
37
37
  #
38
38
  def create_controller
39
- validate_namespace name
40
39
  self.destination_root = options[:root]
41
40
  if in_app_root?
42
41
  app = options[:app]
@@ -30,7 +30,6 @@ module Padrino
30
30
  # Execute helper generation
31
31
  #
32
32
  def create_helper
33
- validate_namespace name
34
33
  self.destination_root = options[:root]
35
34
  if in_app_root?
36
35
  app = options[:app]
@@ -30,7 +30,6 @@ module Padrino
30
30
  # Execute mailer generation.
31
31
  #
32
32
  def create_mailer
33
- validate_namespace name
34
33
  self.destination_root = options[:root]
35
34
  if in_app_root?
36
35
  app = options[:app]
@@ -25,7 +25,6 @@ module Padrino
25
25
 
26
26
  # Creates the migration file within a Padrino project.
27
27
  def create_migration
28
- validate_namespace name
29
28
  self.destination_root = options[:root]
30
29
  if in_app_root?
31
30
  self.behavior = :revoke if options[:destroy]
@@ -55,7 +55,7 @@ module Padrino
55
55
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
56
56
  http.start do
57
57
  http.request_get(uri.path) do |res|
58
- plugins = res.body.scan(%r{/plugins/(\w+-\w+)_plugin.rb}).uniq
58
+ plugins = res.body.scan(%r{/plugins/(\w+)_plugin.rb}).uniq
59
59
  end
60
60
  end
61
61
  say "Available plugins:", :green
@@ -12,10 +12,6 @@ Bundler.require(:default, RACK_ENV)
12
12
  # Padrino::Logger::Config[:development][:log_level] = :devel
13
13
  # Padrino::Logger::Config[:development][:log_static] = true
14
14
  #
15
- # ## Configure Ruby to allow requiring features from your lib folder
16
- #
17
- # $LOAD_PATH.unshift Padrino.root('lib')
18
- #
19
15
  # ## Enable logging of source location
20
16
  #
21
17
  # Padrino::Logger::Config[:development][:source_location] = true
@@ -38,15 +34,8 @@ Bundler.require(:default, RACK_ENV)
38
34
  # include Padrino::Helpers::TranslationHelpers
39
35
  # end
40
36
 
41
- ##
42
- # Require initializers before all other dependencies.
43
- # Dependencies from 'config' folder are NOT re-required on reload.
44
- #
45
- Padrino.dependency_paths.unshift Padrino.root('config/initializers/*.rb')
46
-
47
37
  ##
48
38
  # Add your before (RE)load hooks here
49
- # These hooks are run before any dependencies are required.
50
39
  #
51
40
  Padrino.before_load do
52
41
  end
@@ -27,11 +27,10 @@ module Padrino
27
27
  class_option :dev, :desc => 'Use padrino from a git checkout', :default => false, :type => :boolean
28
28
  class_option :tiny, :desc => 'Generate tiny app skeleton', :aliases => '-i', :default => false, :type => :boolean
29
29
  class_option :lean, :desc => 'Generate lean project without apps', :aliases => '-l', :default => false, :type => :boolean
30
- class_option :api, :desc => 'Generate minimal project for APIs', :default => false, :type => :boolean
30
+ class_option :adapter, :desc => 'SQL adapter for ORM (sqlite, mysql, mysql2, mysql-gem, postgres)', :aliases => '-a', :default => 'sqlite', :type => :string
31
31
  class_option :template, :desc => 'Generate project from template', :aliases => '-p', :default => nil, :type => :string
32
32
  class_option :gem, :desc => 'Generate project as a gem', :aliases => '-g', :default => false, :type => :boolean
33
33
  class_option :migration_format, :desc => 'Filename format for migrations (number, timestamp)', :default => 'number', :type => :string
34
- class_option :adapter, :desc => 'SQL adapter for ORM (sqlite, mysql, mysql2, mysql-gem, postgres)', :aliases => '-a', :default => 'sqlite', :type => :string
35
34
 
36
35
  # Definitions for the available customizable components.
37
36
  defines_component_options
@@ -136,7 +135,7 @@ module Padrino
136
135
  say "#{name} is ready for development!", :green
137
136
  say '=' * 65, :green
138
137
  say "$ cd #{options[:root]}/#{name}"
139
- say "$ bundle --binstubs" unless options[:bundle]
138
+ say "$ bundle" unless options[:bundle]
140
139
  say "=" * 65, :green
141
140
  say
142
141
  end
@@ -1,5 +1,4 @@
1
1
  require 'fileutils'
2
- require 'open-uri'
3
2
 
4
3
  module Padrino
5
4
  module Generators
@@ -26,7 +26,6 @@ module Padrino
26
26
  require_arguments!
27
27
 
28
28
  def create_task
29
- validate_namespace name
30
29
  self.destination_root = options[:root]
31
30
  if in_app_root?
32
31
  app = options[:app]
@@ -20,15 +20,6 @@ gem 'rake'
20
20
 
21
21
  # Test requirements
22
22
 
23
- <% if options.api? -%>
24
- <% if options.dev? -%>
25
- gem 'padrino-core', :path => '<%= Padrino::Generators::DEV_PATH %>/padrino-core'
26
- gem 'padrino-gen', :path => '<%= Padrino::Generators::DEV_PATH %>/padrino-gen'
27
- <% else -%>
28
- gem 'padrino-core', '<%= Padrino.version %>'
29
- gem 'padrino-gen', '<%= Padrino.version %>'
30
- <% end -%>
31
- <% else -%>
32
23
  # Padrino Stable Gem
33
24
  <% if options.dev? %># <% end %>gem 'padrino', '<%= Padrino.version %>'
34
25
 
@@ -39,4 +30,3 @@ gem 'padrino-gen', '<%= Padrino.version %>'
39
30
  <% unless options.dev? %># <% end %>%w(core support gen helpers cache mailer admin).each do |g|
40
31
  <% unless options.dev? %># <% end %> gem 'padrino-' + g, <% if options.dev? %>:path => '<%= Padrino::Generators::DEV_PATH %>/padrino-' + g<% else %>'<%= Padrino.version %>'<% end %>
41
32
  <% unless options.dev? %># <% end %>end
42
- <% end -%>
@@ -6,5 +6,3 @@ PadrinoTasks.use(:database)
6
6
  PadrinoTasks.use(<%= options[:orm].to_sym.inspect %>)
7
7
  <%- end -%>
8
8
  PadrinoTasks.init
9
-
10
- task :default => :test
@@ -12,7 +12,7 @@
12
12
  # end
13
13
 
14
14
  # get :foo, :with => :id do
15
- # "Maps to url '/foo/#{params[:id]}'"
15
+ # 'Maps to url '/foo/#{params[:id]}''
16
16
  # end
17
17
 
18
18
  # get '/example' do
@@ -44,7 +44,7 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
44
44
  else
45
45
  begin
46
46
  # Create the SQLite database
47
- FileUtils.mkdir_p File.dirname(config[:database]) unless File.exist?(File.dirname(config[:database]))
47
+ Dir.mkdir File.dirname(config[:database]) unless File.exist?(File.dirname(config[:database]))
48
48
  ActiveRecord::Base.establish_connection(config)
49
49
  ActiveRecord::Base.connection
50
50
  rescue StandardError => e
@@ -121,17 +121,17 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
121
121
  end
122
122
  end
123
123
 
124
- desc "Migrate the database through scripts in db/migrate and update db/schema.rb by invoking ar:schema:dump. Target specific version with MIGRATION_VERSION=x. Turn off output with VERBOSE=false."
124
+ desc "Migrate the database through scripts in db/migrate and update db/schema.rb by invoking ar:schema:dump. Target specific version with VERSION=x. Turn off output with VERBOSE=false."
125
125
  task :migrate => :skeleton do
126
126
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
127
- ActiveRecord::Migrator.migrate("db/migrate/", env_migration_version)
127
+ ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
128
128
  Rake::Task["ar:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
129
129
  end
130
130
 
131
131
  namespace :migrate do
132
- desc 'Rollbacks the database one migration and re migrate up. If you want to rollback more than one step, define STEP=x. Target specific version with MIGRATION_VERSION=x.'
132
+ desc 'Rollbacks the database one migration and re migrate up. If you want to rollback more than one step, define STEP=x. Target specific version with VERSION=x.'
133
133
  task :redo => :skeleton do
134
- if env_migration_version
134
+ if ENV["VERSION"]
135
135
  Rake::Task["ar:migrate:down"].invoke
136
136
  Rake::Task["ar:migrate:up"].invoke
137
137
  else
@@ -143,10 +143,10 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
143
143
  desc 'Resets your database using your migrations for the current environment'
144
144
  task :reset => ["ar:drop", "ar:create", "ar:migrate"]
145
145
 
146
- desc 'Runs the "up" for a given MIGRATION_VERSION.'
146
+ desc 'Runs the "up" for a given migration VERSION.'
147
147
  task(:up => :skeleton){ migrate_as(:up) }
148
148
 
149
- desc 'Runs the "down" for a given MIGRATION_VERSION.'
149
+ desc 'Runs the "down" for a given migration VERSION.'
150
150
  task(:down => :skeleton){ migrate_as(:down) }
151
151
  end
152
152
 
@@ -246,7 +246,7 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
246
246
  unless search_path.blank?
247
247
  search_path = search_path.split(",").map{|search_path| "--schema=#{search_path.strip}" }.join(" ")
248
248
  end
249
- `pg_dump -U "#{config[:username]}" -s -x -O -f db/#{Padrino.env}_structure.sql #{search_path} #{config[:database]}`
249
+ `pg_dump -i -U "#{config[:username]}" -s -x -O -f db/#{Padrino.env}_structure.sql #{search_path} #{config[:database]}`
250
250
  raise "Error dumping database" if $?.exitstatus == 1
251
251
  when "sqlite", "sqlite3"
252
252
  dbfile = config[:database] || config[:dbfile]
@@ -309,12 +309,6 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
309
309
  puts
310
310
  end
311
311
  end
312
-
313
- task :seed => :environment do
314
- missing_model_features = Padrino.send(:default_dependency_paths) - Padrino.send(:dependency_paths)
315
- Padrino.require_dependencies(missing_model_features)
316
- Rake::Task['db:seed'].invoke
317
- end
318
312
  end
319
313
 
320
314
  def drop_database(config)
@@ -355,8 +349,8 @@ if PadrinoTasks.load?(:activerecord, defined?(ActiveRecord))
355
349
  end
356
350
 
357
351
  def migrate_as(type)
358
- version = env_migration_version
359
- fail "MIGRATION_VERSION is required" unless version
352
+ version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
353
+ raise "VERSION is required" unless version
360
354
  ActiveRecord::Migrator.run(type, "db/migrate/", version)
361
355
  dump_schema
362
356
  end
@@ -24,14 +24,14 @@ if PadrinoTasks.load?(:datamapper, defined?(DataMapper))
24
24
 
25
25
  desc "Migrate up using migrations"
26
26
  task :up, [:version] => :load do |t, args|
27
- version = args[:version] || env_migration_version
27
+ version = args[:version] || ENV['VERSION']
28
28
  migrate_up!(version)
29
29
  puts "<= dm:migrate:up #{version} executed"
30
30
  end
31
31
 
32
32
  desc "Migrate down using migrations"
33
33
  task :down, [:version] => :load do |t, args|
34
- version = args[:version] || env_migration_version
34
+ version = args[:version] || ENV['VERSION']
35
35
  migrate_down!(version)
36
36
  puts "<= dm:migrate:down #{version} executed"
37
37
  end
@@ -86,8 +86,6 @@ if PadrinoTasks.load?(:datamapper, defined?(DataMapper))
86
86
  task :setup => [:create, :migrate, :seed]
87
87
  end
88
88
 
89
- task 'db:migrate:down' => 'dm:migrate:down'
90
- task 'db:migrate:up' => 'dm:migrate:up'
91
89
  task 'db:migrate' => 'dm:migrate'
92
90
  task 'db:create' => 'dm:create'
93
91
  task 'db:drop' => 'dm:drop'
@@ -9,11 +9,11 @@ if PadrinoTasks.load?(:sequel, defined?(Sequel))
9
9
  puts "<= sq:migrate:auto executed"
10
10
  end
11
11
 
12
- desc "Perform migration up/down to MIGRATION_VERSION"
12
+ desc "Perform migration up/down to VERSION"
13
13
  task :to, [:version] => :skeleton do |t, args|
14
- version = (args[:version] || env_migration_version).to_s.strip
14
+ version = (args[:version] || ENV['VERSION']).to_s.strip
15
15
  ::Sequel.extension :migration
16
- fail "No MIGRATION_VERSION was provided" if version.empty?
16
+ raise "No VERSION was provided" if version.empty?
17
17
  ::Sequel::Migrator.apply(Sequel::Model.db, "db/migrate", version.to_i)
18
18
  puts "<= sq:migrate:to[#{version}] executed"
19
19
  end
@@ -80,7 +80,6 @@ if PadrinoTasks.load?(:sequel, defined?(Sequel))
80
80
  end
81
81
  end
82
82
 
83
- task 'db:create' => 'sq:create'
84
83
  task 'db:migrate' => 'sq:migrate'
85
84
  task 'db:reset' => 'sq:reset'
86
85
  end