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 "PluginGenerator" do
3
+ describe 'PluginGenerator' do
4
4
  def setup
5
5
  @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
6
6
  `mkdir -p #{@apptmp}`
@@ -10,7 +10,7 @@ describe "PluginGenerator" do
10
10
  `rm -rf #{@apptmp}`
11
11
  end
12
12
 
13
- describe "the plugin generator" do
13
+ describe 'the plugin generator' do
14
14
  it 'should respect --root option' do
15
15
  path = File.expand_path('fixtures/plugin_template.rb', __dir__)
16
16
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
@@ -19,21 +19,21 @@ describe "PluginGenerator" do
19
19
  end
20
20
  end
21
21
 
22
- describe "the plugin destroy option" do
22
+ describe 'the plugin destroy option' do
23
23
  it 'should remove the plugin instance' do
24
24
  path = File.expand_path('fixtures/plugin_template.rb', __dir__)
25
25
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
26
26
  capture_io { generate(:plugin, path, "--root=#{@apptmp}/sample_project") }
27
27
  capture_io { generate(:plugin, path, "--root=#{@apptmp}/sample_project", '-d') }
28
28
  assert_no_file_exists("#{@apptmp}/sample_project/lib/hoptoad_initializer.rb")
29
- assert_no_match_in_file(/enable :raise_errors/,"#{@apptmp}/sample_project/app/app.rb")
29
+ assert_no_match_in_file(/enable :raise_errors/, "#{@apptmp}/sample_project/app/app.rb")
30
30
  assert_no_match_in_file(/rack_hoptoad/, "#{@apptmp}/sample_project/Gemfile")
31
31
  end
32
32
  end
33
33
 
34
34
  describe 'the project generator with template' do
35
35
  it 'should invoke Padrino.bin_gen' do
36
- expects_generated_project :name => 'sample_project', :test => :shoulda, :orm => :activerecord, :dev => true, :template => 'mongochist', :root => @apptmp
36
+ expects_generated_project name: 'sample_project', test: :shoulda, orm: :activerecord, dev: true, template: 'mongochist', root: @apptmp
37
37
  expects_generated :model, "post title:string body:text -r=#{@apptmp}/sample_project"
38
38
  expects_generated :controller, "posts get:index get:new post:new -r=#{@apptmp}/sample_project"
39
39
  expects_generated :migration, "AddEmailToUser email:string -r=#{@apptmp}/sample_project"
@@ -41,17 +41,16 @@ describe "PluginGenerator" do
41
41
  expects_generated :plugin, "carrierwave -r=#{@apptmp}/sample_project"
42
42
  File.stubs(:exist?).returns(true)
43
43
  expects_dependencies 'nokogiri'
44
- expects_initializer :test, "# Example", :root => "#{@apptmp}/sample_project"
44
+ expects_initializer :test, '# Example', root: "#{@apptmp}/sample_project"
45
45
  expects_generated :app, "testapp -r=#{@apptmp}/sample_project"
46
46
  expects_generated :controller, "users get:index -r=#{@apptmp}/sample_project --app=testapp"
47
- example_template_path = File.join(File.dirname(__FILE__), 'fixtures', 'example_template.rb')
47
+ example_template_path = File.join(__dir__, 'fixtures', 'example_template.rb')
48
48
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", "-p=#{example_template_path}", '> /dev/null') }
49
49
  File.unstub(:exist?)
50
50
  end
51
51
  end
52
52
 
53
- describe "with resolving urls" do
54
-
53
+ describe 'with resolving urls' do
55
54
  it 'should resolve generic url properly' do
56
55
  template_file = 'http://www.example.com/test.rb'
57
56
  stub_request :get, template_file
@@ -61,7 +60,7 @@ describe "PluginGenerator" do
61
60
  end
62
61
 
63
62
  it 'should resolve gist url properly' do
64
- stub_request(:get, "https://gist.github.com/357045").to_return(body: '<a href="/raw/357045/4356/blog_template.rb">raw</a>')
63
+ stub_request(:get, 'https://gist.github.com/357045').to_return(body: '<a href="/raw/357045/4356/blog_template.rb">raw</a>')
65
64
  template_file = 'https://gist.github.com/357045'
66
65
  resolved_path = 'https://gist.github.com/raw/357045/4356/blog_template.rb'
67
66
  project_gen = Padrino::Generators::Project.new(['sample_project'], ["-p=#{template_file}", "-r=#{@apptmp}"], {})
@@ -71,7 +70,7 @@ describe "PluginGenerator" do
71
70
 
72
71
  it 'should resolve official template' do
73
72
  template_file = 'sampleblog'
74
- resolved_path = "https://raw.github.com/padrino/padrino-recipes/master/templates/sampleblog_template.rb"
73
+ resolved_path = 'https://raw.github.com/padrino/padrino-recipes/master/templates/sampleblog_template.rb'
75
74
  stub_request(:get, resolved_path).to_return(body: template_file)
76
75
  project_gen = Padrino::Generators::Project.new(['sample_project'], ["-p=#{template_file}", "-r=#{@apptmp}"], {})
77
76
  project_gen.expects(:apply).with(resolved_path).returns(true).once
@@ -87,70 +86,70 @@ describe "PluginGenerator" do
87
86
 
88
87
  it 'should resolve official plugin' do
89
88
  template_file = 'hoptoad'
90
- resolved_path = "https://raw.github.com/padrino/padrino-recipes/master/plugins/hoptoad_plugin.rb"
89
+ resolved_path = 'https://raw.github.com/padrino/padrino-recipes/master/plugins/hoptoad_plugin.rb'
91
90
  stub_request(:get, resolved_path).to_return(body: template_file)
92
- plugin_gen = Padrino::Generators::Plugin.new([ template_file], ["-r=#{@apptmp}/sample_project"],{})
91
+ plugin_gen = Padrino::Generators::Plugin.new([template_file], ["-r=#{@apptmp}/sample_project"], {})
93
92
  plugin_gen.expects(:in_app_root?).returns(true).once
94
93
  plugin_gen.expects(:apply).with(resolved_path).returns(true).once
95
94
  capture_io { plugin_gen.invoke_all }
96
95
  end
97
96
 
98
97
  it 'should print a warning if template cannot be found' do
99
- template_file = 'hwat'
100
- resolved_path = "https://raw.github.com/padrino/padrino-recipes/master/plugins/hwat_plugin.rb"
98
+ template_file = 'hwat'
99
+ resolved_path = 'https://raw.github.com/padrino/padrino-recipes/master/plugins/hwat_plugin.rb'
101
100
  stub_request(:get, resolved_path).to_return(status: 404)
102
- plugin_gen = Padrino::Generators::Plugin.new([ template_file], ["-r=#{@apptmp}/sample_project"],{})
101
+ plugin_gen = Padrino::Generators::Plugin.new([template_file], ["-r=#{@apptmp}/sample_project"], {})
103
102
  plugin_gen.expects(:in_app_root?).returns(true).once
104
103
  # Use regex to ignore trailing whitespace in message
105
- plugin_gen.expects(:say).with{ |message, color| (message =~ /The template at #{resolved_path} could not be loaded:.*404.*/) && (color == :red) }.returns(true).once
104
+ plugin_gen.expects(:say).with { |message, color| (message =~ /The template at #{resolved_path} could not be loaded:.*404.*/) && (color == :red) }.returns(true).once
106
105
  capture_io { plugin_gen.invoke_all }
107
106
  end
108
107
  end
109
108
 
110
- describe "with list option" do
109
+ describe 'with list option' do
111
110
  it 'should return a list of available plugins with no parameter' do
112
- plugin_gen = Padrino::Generators::Plugin.new([], [],{})
111
+ plugin_gen = Padrino::Generators::Plugin.new([], [], {})
113
112
  plugin_gen.expects(:list_plugins).returns(true).once
114
113
  capture_io { plugin_gen.invoke_all }
115
114
  end
116
115
 
117
116
  it 'should return a list of available plugins with list option' do
118
- plugin_gen = Padrino::Generators::Plugin.new(['some_plugin'], ["-l", "-r=#{@apptmp}/sample_project"],{})
117
+ plugin_gen = Padrino::Generators::Plugin.new(['some_plugin'], ['-l', "-r=#{@apptmp}/sample_project"], {})
119
118
  plugin_gen.expects(:list_plugins).returns(true).once
120
119
  capture_io { plugin_gen.invoke_all }
121
120
  end
122
121
  end
123
122
 
124
- describe "with git commands" do
123
+ describe 'with git commands' do
125
124
  it 'should generate a repository correctly' do
126
125
  skip 'Change stubs here'
127
- expects_generated_project :test => :rspec, :orm => :activerecord, :name => 'sample_git', :root => @apptmp.to_s
128
- expects_git :init, :root => "#{@apptmp}/sample_git"
129
- expects_git :add, :arguments => '.', :root => "#{@apptmp}/sample_git"
130
- expects_git :commit, :arguments => 'hello', :root => "#{@apptmp}/sample_git"
131
- git_template_path = File.join(File.dirname(__FILE__), 'fixtures', 'git_template.rb')
126
+ expects_generated_project test: :rspec, orm: :activerecord, name: 'sample_git', root: @apptmp.to_s
127
+ expects_git :init, root: "#{@apptmp}/sample_git"
128
+ expects_git :add, arguments: '.', root: "#{@apptmp}/sample_git"
129
+ expects_git :commit, arguments: 'hello', root: "#{@apptmp}/sample_git"
130
+ git_template_path = File.join(__dir__, 'fixtures', 'git_template.rb')
132
131
  capture_io { generate(:project, 'sample_git', "-p=#{git_template_path}", "-r=#{@apptmp}", '2>&1 /dev/null') }
133
132
  end
134
133
  end
135
134
 
136
- describe "with rake invocations" do
135
+ describe 'with rake invocations' do
137
136
  it 'should Run rake task and list tasks' do
138
- expects_generated_project :test => :shoulda, :orm => :activerecord, :name => 'sample_rake', :root => @apptmp.to_s
139
- expects_rake "custom", :root => "#{@apptmp}/sample_rake"
140
- rake_template_path = File.join(File.dirname(__FILE__), 'fixtures', 'rake_template.rb')
137
+ expects_generated_project test: :shoulda, orm: :activerecord, name: 'sample_rake', root: @apptmp.to_s
138
+ expects_rake 'custom', root: "#{@apptmp}/sample_rake"
139
+ rake_template_path = File.join(__dir__, 'fixtures', 'rake_template.rb')
141
140
  capture_io { generate(:project, 'sample_rake', "-p=#{rake_template_path}", "-r=#{@apptmp}", '> /dev/null') }
142
141
  end
143
142
  end
144
143
 
145
- describe "with admin commands" do
144
+ describe 'with admin commands' do
146
145
  it 'should generate correctly an admin' do
147
- expects_generated_project :test => :shoulda, :orm => :activerecord, :name => 'sample_admin', :root => @apptmp.to_s
146
+ expects_generated_project test: :shoulda, orm: :activerecord, name: 'sample_admin', root: @apptmp.to_s
148
147
  expects_generated :model, "post title:string body:text -r=#{@apptmp}/sample_admin"
149
- expects_rake "ar:create", :root => "#{@apptmp}/sample_admin"
148
+ expects_rake 'ar:create', root: "#{@apptmp}/sample_admin"
150
149
  expects_generated :admin, "-r=#{@apptmp}/sample_admin"
151
- expects_rake "ar:migrate", :root => "#{@apptmp}/sample_admin"
150
+ expects_rake 'ar:migrate', root: "#{@apptmp}/sample_admin"
152
151
  expects_generated :admin_page, "post -r=#{@apptmp}/sample_admin"
153
- admin_template_path = File.join(File.dirname(__FILE__), 'fixtures', 'admin_template.rb')
152
+ admin_template_path = File.join(__dir__, 'fixtures', 'admin_template.rb')
154
153
  capture_io { generate(:project, 'sample_admin', "-p=#{admin_template_path}", "-r=#{@apptmp}", '> /dev/null') }
155
154
  end
156
155
  end