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
data/padrino-gen.gemspec CHANGED
@@ -1,29 +1,29 @@
1
1
  #!/usr/bin/env gem build
2
2
  # encoding: utf-8
3
3
 
4
- require File.expand_path("../../padrino-core/lib/padrino-core/version.rb", __FILE__)
4
+ require File.expand_path('../padrino-core/lib/padrino-core/version.rb', __dir__)
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "padrino-gen"
8
- s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
9
- s.email = "padrinorb@gmail.com"
10
- s.summary = "Generators for easily creating and building padrino applications"
11
- s.homepage = "http://www.padrinorb.com"
12
- s.description = "Generators for easily creating and building padrino applications from the console"
13
- s.required_rubygems_version = ">= 1.3.6"
7
+ s.name = 'padrino-gen'
8
+ s.authors = ['Padrino Team', 'Nathan Esquenazi', "Davide D'Agostino", 'Arthur Chiu']
9
+ s.email = 'padrinorb@gmail.com'
10
+ s.summary = 'Generators for easily creating and building padrino applications'
11
+ s.homepage = 'http://www.padrinorb.com'
12
+ s.description = 'Generators for easily creating and building padrino applications from the console'
13
+ s.required_rubygems_version = '>= 1.3.6'
14
14
  s.version = Padrino.version
15
- s.date = Time.now.strftime("%Y-%m-%d")
16
- s.license = "MIT"
15
+ s.date = Time.now.strftime('%Y-%m-%d')
16
+ s.license = 'MIT'
17
17
 
18
- s.extra_rdoc_files = Dir["*.rdoc"]
19
- s.files = `git ls-files`.split("\n") | Dir.glob("{lib}/**/*")
18
+ s.extra_rdoc_files = Dir['*.rdoc']
19
+ s.files = `git ls-files`.split("\n") | Dir.glob('{lib}/**/*')
20
20
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
- s.require_paths = ["lib"]
23
- s.rdoc_options = ["--charset=UTF-8"]
21
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
22
+ s.require_paths = ['lib']
23
+ s.rdoc_options = ['--charset=UTF-8']
24
24
 
25
- s.add_dependency("padrino-core", Padrino.version)
26
- s.add_dependency("bundler", ">= 1.0", "< 3")
27
- s.add_development_dependency("padrino-helpers", Padrino.version)
28
- s.add_development_dependency("padrino-mailer", Padrino.version)
25
+ s.add_dependency('padrino-core', Padrino.version)
26
+ s.add_dependency('bundler', '>= 1.0', '< 3')
27
+ s.add_development_dependency('padrino-helpers', Padrino.version)
28
+ s.add_development_dependency('padrino-mailer', Padrino.version)
29
29
  end
@@ -1,7 +1,7 @@
1
- project :test => :shoulda, :orm => :activerecord
1
+ project test: :shoulda, orm: :activerecord
2
2
 
3
- generate :model, "post title:string body:text"
4
- rake "ar:create"
3
+ generate :model, 'post title:string body:text'
4
+ rake 'ar:create'
5
5
  generate :admin
6
- rake "ar:migrate"
7
- generate :admin_page, "post"
6
+ rake 'ar:migrate'
7
+ generate :admin_page, 'post'
@@ -2,34 +2,31 @@
2
2
  # You can use other adapters like:
3
3
  #
4
4
  # ActiveRecord::Base.configurations = {
5
- # :development => {
6
- # :adapter => 'mysql2',
7
- # :encoding => 'utf8',
8
- # :reconnect => true,
9
- # :database => 'your_database',
10
- # :pool => 5,
11
- # :username => 'root',
12
- # :password => '',
13
- # :host => 'localhost',
14
- # :socket => '/tmp/mysql.sock'
5
+ # development: {
6
+ # adapter: 'mysql2',
7
+ # encoding: 'utf8',
8
+ # reconnect: true,
9
+ # database: 'your_database',
10
+ # pool: 5,
11
+ # username: 'root',
12
+ # password: '',
13
+ # host: 'localhost',
14
+ # socket: '/tmp/mysql.sock'
15
15
  # }
16
16
  # }
17
17
  #
18
18
  ActiveRecord::Base.configurations = {
19
- :development => {
20
- :adapter => 'sqlite3',
21
- :database => Padrino.root('db', 'sample_project_development.db')
22
-
19
+ development: {
20
+ adapter: 'sqlite3',
21
+ database: Padrino.root('db', 'sample_project_development.db')
23
22
  },
24
- :production => {
25
- :adapter => 'sqlite3',
26
- :database => Padrino.root('db', 'sample_project_production.db')
27
-
23
+ production: {
24
+ adapter: 'sqlite3',
25
+ database: Padrino.root('db', 'sample_project_production.db')
28
26
  },
29
- :test => {
30
- :adapter => 'sqlite3',
31
- :database => Padrino.root('db', 'sample_project_test.db')
32
-
27
+ test: {
28
+ adapter: 'sqlite3',
29
+ database: Padrino.root('db', 'sample_project_test.db')
33
30
  }
34
31
  }
35
32
 
@@ -1,15 +1,15 @@
1
- project :test => :shoulda, :orm => :activerecord, :template => 'mongochist', :dev => true
1
+ project test: :shoulda, orm: :activerecord, template: 'mongochist', dev: true
2
2
 
3
- generate :model, "post title:string body:text"
4
- generate :controller, "posts get:index get:new post:new"
5
- generate :migration, "AddEmailToUser email:string"
6
- generate :fake, "foo bar"
7
- generate :plugin, "carrierwave"
3
+ generate :model, 'post title:string body:text'
4
+ generate :controller, 'posts get:index get:new post:new'
5
+ generate :migration, 'AddEmailToUser email:string'
6
+ generate :fake, 'foo bar'
7
+ generate :plugin, 'carrierwave'
8
8
 
9
9
  require_dependencies 'nokogiri'
10
10
 
11
- initializer :test, "# Example"
11
+ initializer :test, '# Example'
12
12
 
13
13
  app :testapp do
14
- generate :controller, "users get:index"
14
+ generate :controller, 'users get:index'
15
15
  end
@@ -1,4 +1,4 @@
1
- project :test => :rspec, :orm => :activerecord
1
+ project test: :rspec, orm: :activerecord
2
2
  git :init
3
- git :add, "."
3
+ git :add, '.'
4
4
  git :commit, "-m 'hello'"
@@ -8,6 +8,6 @@ HOPTOAD = <<-HOPTOAD
8
8
  #notifier.environment_filters << %w(MY_SECRET_KEY MY_SECRET_TOKEN)
9
9
  end
10
10
  HOPTOAD
11
- require_dependencies 'rack_hoptoad', :require => 'rack/hoptoad'
12
- initializer :hoptoad,HOPTOAD
13
- inject_into_file destination_root('/app/app.rb')," enable :raise_errors\n", :after => "configure do\n"
11
+ require_dependencies 'rack_hoptoad', require: 'rack/hoptoad'
12
+ initializer :hoptoad, HOPTOAD
13
+ inject_into_file destination_root('/app/app.rb'), " enable :raise_errors\n", after: "configure do\n"
@@ -1,9 +1,9 @@
1
- project :test => :shoulda, :orm => :activerecord
2
- # create_file "lib/tasks/test.rake", <<-RAKE
1
+ project test: :shoulda, orm: :activerecord
2
+ # create_file 'lib/tasks/test.rake', <<-RAKE
3
3
  # task :custom do
4
- # File.open('#{destination_root("/tmp/custom.txt")}', 'w') { |f|
4
+ # File.open('#{destination_root("/tmp/custom.txt")}', 'w') do |f|
5
5
  # f.puts('Completed custom rake test')
6
- # }
6
+ # end
7
7
  # end
8
8
  # RAKE
9
- rake "custom"
9
+ rake 'custom'
data/test/helper.rb CHANGED
@@ -22,7 +22,7 @@ class Minitest::Spec
22
22
 
23
23
  def stub_static_files
24
24
  # register fake URL to avoid downloading static files every time tests run
25
- fake_uri_base = "https://raw.github.com/padrino/padrino-static/master/"
25
+ fake_uri_base = 'https://raw.github.com/padrino/padrino-static/master/'
26
26
  %w[
27
27
  js/dojo.js
28
28
  js/ext.js
@@ -47,37 +47,39 @@ class Minitest::Spec
47
47
  "Padrino::Generators::#{name.to_s.camelize}".constantize.start(params)
48
48
  end
49
49
 
50
- # generate_with_parts(:app, "demo", "--root=/tmp/sample_project", :apps => "subapp")
50
+ # generate_with_parts(:app, 'demo', "--root=/tmp/sample_project", apps: 'subapp')
51
51
  # This method is intended to reproduce the real environment.
52
52
  def generate_with_parts(name, *params)
53
- features, constants = [$", Object.constants].map{|x| Marshal.load(Marshal.dump(x)) }
53
+ features, constants = [$LOADED_FEATURES, Object.constants].map { |x| Marshal.load(Marshal.dump(x)) }
54
54
 
55
- if root = params.find{|x| x.index(/-r=|--root=/) }
55
+ if (root = params.find { |x| x.index(/-r=|--root=/) })
56
56
  root = root.split(/=/)[1]
57
- options, model_path = {}, File.expand_path(File.join(root, "/models/**/*.rb"))
57
+ options, model_path = {}, File.expand_path(File.join(root, '/models/**/*.rb'))
58
58
  options = params.pop if params.last.is_a?(Hash)
59
- Dir[model_path].each{|path| require path }
59
+ Dir[model_path].sort.each { |path| require path }
60
+
60
61
  Array(options[:apps]).each do |app_name|
61
62
  path = File.expand_path(File.join(root, "/#{app_name}/app.rb"))
62
63
  require path if File.exist?(path)
63
- end if options[:apps]
64
+ end
64
65
  end
66
+
65
67
  "Padrino::Generators::#{name.to_s.camelize}".constantize.start(params)
66
- ($" - features).each{|x| $".delete(x) }
67
- (Object.constants - constants).each{|constant| Object.instance_eval{ remove_const(constant) }}
68
+ ($LOADED_FEATURES - features).each { |x| $LOADED_FEATURES.delete(x) }
69
+ (Object.constants - constants).each { |constant| Object.instance_eval { remove_const(constant) } }
68
70
  end
69
71
 
70
72
  # expects_generated :model, "post title:string body:text"
71
- def expects_generated(generator, params="")
73
+ def expects_generated(generator, params = '')
72
74
  Padrino.expects(:bin_gen).with(generator, *params.split(' ')).returns(true)
73
75
  end
74
76
 
75
- # expects_generated_project :test => :shoulda, :orm => :activerecord, :dev => true
76
- def expects_generated_project(options={})
77
+ # expects_generated_project test: :shoulda, orm: :activerecord, dev: true
78
+ def expects_generated_project(options = {})
77
79
  options = options.dup
78
80
  project_root = options.delete(:root)
79
81
  project_name = options.delete(:name)
80
- components = options.sort_by{ |k, _v| k.to_s }.map{ |component, value| "--#{component}=#{value}" }
82
+ components = options.sort_by { |k, _v| k.to_s }.map { |component, value| "--#{component}=#{value}" }
81
83
  params = [project_name, *components].push("-r=#{project_root}")
82
84
  Padrino.expects(:bin_gen).with(*params.unshift('project')).returns(true)
83
85
  end
@@ -87,23 +89,23 @@ class Minitest::Spec
87
89
  instance = mock
88
90
  instance.expects(:invoke!).once
89
91
  include_text = "gem '#{name}'\n"
90
- Thor::Actions::InjectIntoFile.expects(:new).with(anything,'Gemfile', include_text, anything).returns(instance)
92
+ Thor::Actions::InjectIntoFile.expects(:new).with(anything, 'Gemfile', include_text, anything).returns(instance)
91
93
  end
92
94
 
93
95
  # expects_initializer :test, "# Example"
94
- def expects_initializer(name, body,options={})
95
- #options.reverse_merge!(:root => "/tmp/sample_project")
96
- path = File.join(options[:root],'config/initializers',"#{name}.rb")
96
+ def expects_initializer(name, body, options = {})
97
+ # options.reverse_merge!(root: '/tmp/sample_project')
98
+ path = File.join(options[:root], 'config/initializers', "#{name}.rb")
97
99
  instance = mock
98
100
  instance.expects(:invoke!).at_least_once
99
101
  include_text = " register #{name.to_s.camelize}Initializer\n"
100
- Thor::Actions::InjectIntoFile.expects(:new).with(anything,anything, include_text, anything).returns(instance)
102
+ Thor::Actions::InjectIntoFile.expects(:new).with(anything, anything, include_text, anything).returns(instance)
101
103
  Thor::Actions::CreateFile.expects(:new).with(anything, path, kind_of(Proc), anything).returns(instance)
102
104
  end
103
105
 
104
106
  # expects_rake "custom"
105
- def expects_rake(command,options={})
106
- #options.reverse_merge!(:root => '/tmp')
107
- Padrino.expects(:bin).with("rake", command, "-c=#{options[:root]}").returns(true)
107
+ def expects_rake(command, options = {})
108
+ # options.reverse_merge!(root: '/tmp')
109
+ Padrino.expects(:bin).with('rake', command, "-c=#{options[:root]}").returns(true)
108
110
  end
109
111
  end
@@ -1,6 +1,6 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
1
+ require_relative 'helper'
2
2
 
3
- describe "AppGenerator" do
3
+ describe 'AppGenerator' do
4
4
  def setup
5
5
  @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
6
6
  `mkdir -p #{@apptmp}`
@@ -12,7 +12,7 @@ describe "AppGenerator" do
12
12
 
13
13
  describe 'the app generator' do
14
14
  it 'should fail outside app root' do
15
- out, err = capture_io { generate(:app, 'demo_root', "-r=#{@apptmp}") }
15
+ out, = capture_io { generate(:app, 'demo_root', "-r=#{@apptmp}") }
16
16
  assert_match(/not at the root/, out)
17
17
  assert_no_file_exists("#{@apptmp}/demo_root")
18
18
  end
@@ -28,7 +28,7 @@ describe "AppGenerator" do
28
28
  assert_dir_exists("#{@apptmp}/sample_project/demo/views")
29
29
  assert_dir_exists("#{@apptmp}/sample_project/demo/views/layouts")
30
30
  assert_dir_exists("#{@apptmp}/sample_project/public/demo")
31
- assert_match_in_file("Padrino.mount('SampleProject::Demo', :app_file => Padrino.root('demo/app.rb')).to('/demo')", "#{@apptmp}/sample_project/config/apps.rb")
31
+ assert_match_in_file("Padrino.mount('SampleProject::Demo', app_file: Padrino.root('demo/app.rb')).to('/demo')", "#{@apptmp}/sample_project/config/apps.rb")
32
32
  assert_match_in_file('module SampleProject', "#{@apptmp}/sample_project/demo/app.rb")
33
33
  assert_match_in_file('class Demo < Padrino::Application', "#{@apptmp}/sample_project/demo/app.rb")
34
34
  assert_match_in_file(/Padrino.configure_apps do/, "#{@apptmp}/sample_project/config/apps.rb")
@@ -46,7 +46,7 @@ describe "AppGenerator" do
46
46
  assert_dir_exists("#{@apptmp}/sample_project/demo_app/views")
47
47
  assert_dir_exists("#{@apptmp}/sample_project/demo_app/views/layouts")
48
48
  assert_dir_exists("#{@apptmp}/sample_project/public/demo_app")
49
- assert_match_in_file("Padrino.mount('SampleProject::DemoApp', :app_file => Padrino.root('demo_app/app.rb')).to('/demo_app')", "#{@apptmp}/sample_project/config/apps.rb")
49
+ assert_match_in_file("Padrino.mount('SampleProject::DemoApp', app_file: Padrino.root('demo_app/app.rb')).to('/demo_app')", "#{@apptmp}/sample_project/config/apps.rb")
50
50
  assert_match_in_file('module SampleProject', "#{@apptmp}/sample_project/demo_app/app.rb")
51
51
  assert_match_in_file('class DemoApp < Padrino::Application', "#{@apptmp}/sample_project/demo_app/app.rb")
52
52
  assert_match_in_file(/Padrino.configure_apps do/, "#{@apptmp}/sample_project/config/apps.rb")
@@ -55,14 +55,14 @@ describe "AppGenerator" do
55
55
 
56
56
  it 'should generate tiny app skeleton' do
57
57
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
58
- capture_io { generate(:app, 'demo','--tiny',"--root=#{@apptmp}/sample_project") }
58
+ capture_io { generate(:app, 'demo', '--tiny', "--root=#{@apptmp}/sample_project") }
59
59
  assert_dir_exists("#{@apptmp}/sample_project")
60
60
  assert_dir_exists("#{@apptmp}/sample_project/demo")
61
61
  assert_file_exists("#{@apptmp}/sample_project/demo/helpers.rb")
62
62
  assert_file_exists("#{@apptmp}/sample_project/demo/controllers.rb")
63
63
  assert_file_exists("#{@apptmp}/sample_project/demo/mailers.rb")
64
64
  assert_dir_exists("#{@apptmp}/sample_project/public/demo")
65
- assert_match_in_file(/:notifier/,"#{@apptmp}/sample_project/demo/mailers.rb")
65
+ assert_match_in_file(/:notifier/, "#{@apptmp}/sample_project/demo/mailers.rb")
66
66
  assert_match_in_file(/module Helper/, "#{@apptmp}/sample_project/demo/helpers.rb")
67
67
  assert_match_in_file(/helpers Helper/, "#{@apptmp}/sample_project/demo/helpers.rb")
68
68
  assert_no_file_exists("#{@apptmp}/sample_project/demo/helpers")
@@ -89,19 +89,19 @@ describe "AppGenerator" do
89
89
  it 'should destroys itself' do
90
90
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
91
91
  capture_io { generate(:app, 'demo', "--root=#{@apptmp}/sample_project") }
92
- out, err = capture_io { generate_with_parts(:app, 'demo', "--root=#{@apptmp}/sample_project", '-d', :apps => "demo") }
92
+ out, = capture_io { generate_with_parts(:app, 'demo', "--root=#{@apptmp}/sample_project", '-d', apps: 'demo') }
93
93
  refute_match(/has been mounted/, out)
94
94
  assert_no_dir_exists("#{@apptmp}/sample_project/public/demo")
95
95
  assert_no_file_exists("#{@apptmp}/sample_project/demo/app.rb")
96
96
  assert_no_dir_exists("#{@apptmp}/sample_project/demo/controllers")
97
97
  assert_no_dir_exists("#{@apptmp}/sample_project/demo/helpers")
98
98
  assert_no_dir_exists("#{@apptmp}/sample_project/demo/views")
99
- assert_no_match_in_file(/Padrino\.mount\("Demo"\).to\("\/demo"\)/,"#{@apptmp}/sample_project/config/apps.rb")
99
+ assert_no_match_in_file(%r{Padrino\.mount\("Demo"\).to\("/demo"\)}, "#{@apptmp}/sample_project/config/apps.rb")
100
100
  end
101
101
 
102
102
  it 'should abort if app name already exists' do
103
103
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
104
- out, err = capture_io { generate(:app, 'kernel', "--root=#{@apptmp}/sample_project") }
104
+ out, = capture_io { generate(:app, 'kernel', "--root=#{@apptmp}/sample_project") }
105
105
  assert_match(/Kernel already exists/, out)
106
106
  assert_no_dir_exists("#{@apptmp}/sample_project/public/kernel")
107
107
  assert_no_dir_exists("#{@apptmp}/sample_project/kernel/controllers")
@@ -112,7 +112,7 @@ describe "AppGenerator" do
112
112
  it 'should abort if app name already exists in root' do
113
113
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
114
114
  capture_io { generate(:app, 'subapp', "--root=#{@apptmp}/sample_project") }
115
- out, err = capture_io { generate_with_parts(:app, 'subapp', "--root=#{@apptmp}/sample_project", :apps => "subapp") }
115
+ out, = capture_io { generate_with_parts(:app, 'subapp', "--root=#{@apptmp}/sample_project", apps: 'subapp') }
116
116
  assert_dir_exists("#{@apptmp}/sample_project/public/subapp")
117
117
  assert_dir_exists("#{@apptmp}/sample_project/subapp/controllers")
118
118
  assert_dir_exists("#{@apptmp}/sample_project/subapp/helpers")
@@ -122,7 +122,7 @@ describe "AppGenerator" do
122
122
 
123
123
  it 'should generate app files if :force option is specified' do
124
124
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
125
- out, err = capture_io { generate(:app, 'kernel', "--root=#{@apptmp}/sample_project", "--force") }
125
+ capture_io { generate(:app, 'kernel', "--root=#{@apptmp}/sample_project", '--force') }
126
126
  assert_dir_exists("#{@apptmp}/sample_project/public/kernel")
127
127
  assert_dir_exists("#{@apptmp}/sample_project/kernel/controllers")
128
128
  assert_dir_exists("#{@apptmp}/sample_project/kernel/helpers")
@@ -131,7 +131,7 @@ describe "AppGenerator" do
131
131
 
132
132
  it 'should allow to pass upcased name as the app name' do
133
133
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
134
- out, err = capture_io { generate(:app, 'API', "--root=#{@apptmp}/sample_project", "--force") }
134
+ capture_io { generate(:app, 'API', "--root=#{@apptmp}/sample_project", '--force') }
135
135
  assert_dir_exists("#{@apptmp}/sample_project/public/api")
136
136
  assert_dir_exists("#{@apptmp}/sample_project/api/controllers")
137
137
  assert_dir_exists("#{@apptmp}/sample_project/api/helpers")
data/test/test_cli.rb CHANGED
@@ -1,7 +1,7 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
1
+ require_relative 'helper'
2
2
  require 'padrino-gen/generators/cli'
3
3
 
4
- describe "Cli" do
4
+ describe 'Cli' do
5
5
  def setup
6
6
  @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
7
7
  `mkdir -p #{@apptmp}`
@@ -12,16 +12,15 @@ describe "Cli" do
12
12
  end
13
13
 
14
14
  describe 'the cli' do
15
-
16
15
  it 'should fail without arguments' do
17
- out, err = capture_io { generate(:cli) }
16
+ out, = capture_io { generate(:cli) }
18
17
  assert_match(/Please specify generator to use/, out)
19
18
  end
20
19
 
21
20
  it 'should work correctly if we have a project' do
22
21
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
23
22
  capture_io { generate(:cli, "--root=#{@apptmp}/sample_project") }
24
- skip "Make a great asserition"
23
+ skip 'Make a great asserition'
25
24
  end
26
25
  end
27
26
  end
@@ -1,7 +1,7 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/helper')
2
- require "rb-readline"
1
+ require_relative 'helper'
2
+ require 'rb-readline'
3
3
 
4
- describe "ComponentGenerator" do
4
+ describe 'ComponentGenerator' do
5
5
  def setup
6
6
  @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
7
7
  `mkdir -p #{@apptmp}`
@@ -14,20 +14,20 @@ describe "ComponentGenerator" do
14
14
 
15
15
  describe 'the controller generator' do
16
16
  it 'should fail outside app root' do
17
- out, err = capture_io { generate(:component, 'demo', "-r=#{@apptmp}") }
17
+ out, = capture_io { generate(:component, 'demo', "-r=#{@apptmp}") }
18
18
  assert_match(/not at the root/, out)
19
19
  end
20
20
  end
21
21
 
22
- describe "add components" do
22
+ describe 'add components' do
23
23
  it 'should properly generate default' do
24
24
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
25
- out, err = capture_io { generate(:component, '--orm=activerecord', "-r=#{@apptmp}/sample_project") }
25
+ out, = capture_io { generate(:component, '--orm=activerecord', "-r=#{@apptmp}/sample_project") }
26
26
  assert_match(/applying.*?activerecord.*?orm/, out)
27
- assert_match_in_file(/gem 'activerecord', '>= 3.1', :require => 'active_record'/, "#{@apptmp}/sample_project/Gemfile")
27
+ assert_match_in_file(/gem 'activerecord', '>= 3.1', require: 'active_record'/, "#{@apptmp}/sample_project/Gemfile")
28
28
  assert_match_in_file(/gem 'sqlite3'/, "#{@apptmp}/sample_project/Gemfile")
29
29
  refute_match(/Switch renderer to/, out)
30
- database_template_path = File.join(File.dirname(__FILE__), 'fixtures', 'database_template.rb')
30
+ database_template_path = File.join(__dir__, 'fixtures', 'database_template.rb')
31
31
  assert FileUtils.compare_file("#{@apptmp}/sample_project/config/database.rb", database_template_path)
32
32
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
33
33
  assert_equal 'activerecord', components_chosen[:orm]
@@ -35,7 +35,7 @@ describe "ComponentGenerator" do
35
35
 
36
36
  it 'should properly generate with adapter' do
37
37
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
38
- out, err = capture_io { generate(:component, '--orm=sequel', '--adapter=postgres', "-r=#{@apptmp}/sample_project") }
38
+ out, = capture_io { generate(:component, '--orm=sequel', '--adapter=postgres', "-r=#{@apptmp}/sample_project") }
39
39
  assert_match_in_file(/gem 'pg'/, "#{@apptmp}/sample_project/Gemfile")
40
40
  refute_match(/Switch renderer to/, out)
41
41
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
@@ -44,31 +44,31 @@ describe "ComponentGenerator" do
44
44
 
45
45
  it 'should enable @app_name value' do
46
46
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
47
- out, err = capture_io { generate_with_parts(:component, '--test=cucumber', "-r=#{@apptmp}/sample_project", :apps => "app") }
47
+ capture_io { generate_with_parts(:component, '--test=cucumber', "-r=#{@apptmp}/sample_project", apps: 'app') }
48
48
  assert_match_in_file(/SampleProject::App\.tap \{ \|app\| \}/, "#{@apptmp}/sample_project/features/support/env.rb")
49
49
  end
50
50
 
51
51
  it 'should generate component in specified app' do
52
52
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
53
53
  capture_io { generate(:app, 'compo', "-r=#{@apptmp}/sample_project") }
54
- out, err = capture_io { generate_with_parts(:component, '--test=cucumber', "--app=compo", "-r=#{@apptmp}/sample_project", :apps => "compo") }
54
+ capture_io { generate_with_parts(:component, '--test=cucumber', '--app=compo', "-r=#{@apptmp}/sample_project", apps: 'compo') }
55
55
  assert_match_in_file(/SampleProject::Compo\.tap \{ \|app\| \}/, "#{@apptmp}/sample_project/features/support/env.rb")
56
56
  end
57
57
 
58
58
  it 'should not generate component in specified app if the app does not exist' do
59
59
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
60
- out, err = capture_io { generate_with_parts(:component, '--test=cucumber', "--app=compo", "-r=#{@apptmp}/sample_project", :apps => "compo") }
60
+ out, = capture_io { generate_with_parts(:component, '--test=cucumber', '--app=compo', "-r=#{@apptmp}/sample_project", apps: 'compo') }
61
61
  assert_match(/SampleProject::Compo does not exist./, out)
62
62
  assert_no_file_exists("#{@apptmp}/sample_project/features")
63
63
  end
64
64
  end
65
65
 
66
- describe "specified of same the component" do
66
+ describe 'specified of same the component' do
67
67
  it 'should does not change' do
68
68
  capture_io { generate(:project, 'sample_project', '--script=jquery', "--root=#{@apptmp}") }
69
69
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
70
70
  assert_equal 'jquery', components_chosen[:script]
71
- out, err = capture_io { generate(:component, '--script=jquery', "-r=#{@apptmp}/sample_project") }
71
+ out, = capture_io { generate(:component, '--script=jquery', "-r=#{@apptmp}/sample_project") }
72
72
  assert_match(/applying.*?jquery.*?script/, out)
73
73
  refute_match(/Switch renderer to/, out)
74
74
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
@@ -76,13 +76,13 @@ describe "ComponentGenerator" do
76
76
  end
77
77
  end
78
78
 
79
- describe "component changes" do
79
+ describe 'component changes' do
80
80
  it 'should when allow changes, will be applied' do
81
81
  capture_io { generate(:project, 'sample_project', '--renderer=slim', "--root=#{@apptmp}") }
82
82
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
83
83
  assert_equal 'slim', components_chosen[:renderer]
84
84
  Readline.stubs(:readline).returns('yes').once
85
- out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") }
85
+ out, = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") }
86
86
  assert_match(/applying.*?haml.*?renderer/, out)
87
87
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
88
88
  assert_equal 'haml', components_chosen[:renderer]
@@ -93,7 +93,7 @@ describe "ComponentGenerator" do
93
93
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
94
94
  assert_equal 'slim', components_chosen[:renderer]
95
95
  Readline.stubs(:readline).returns('no').once
96
- out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") }
96
+ out, = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") }
97
97
  refute_match(/applying.*?haml.*?renderer/, out)
98
98
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
99
99
  assert_equal 'slim', components_chosen[:renderer]