ryanb-nifty-generators 0.1.0 → 0.1.1
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.
- data/CHANGELOG +4 -0
- data/Manifest +19 -0
- data/README +33 -0
- data/TODO +0 -1
- data/nifty-generators.gemspec +5 -5
- data/rails_generators/nifty_scaffold/USAGE +2 -2
- data/rails_generators/nifty_scaffold/nifty_scaffold_generator.rb +43 -7
- data/rails_generators/nifty_scaffold/templates/action_specs/create.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/action_specs/destroy.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/action_specs/edit.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_specs/index.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_specs/new.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_specs/show.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_specs/update.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/create.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/destroy.rb +6 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/edit.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/index.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/new.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/show.rb +4 -0
- data/rails_generators/nifty_scaffold/templates/action_tests/update.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/controller.rb +1 -1
- data/rails_generators/nifty_scaffold/templates/controller_spec.rb +8 -0
- data/rails_generators/nifty_scaffold/templates/controller_test.rb +5 -0
- data/rails_generators/nifty_scaffold/templates/fixtures.yml +9 -0
- data/rails_generators/nifty_scaffold/templates/model_spec.rb +11 -0
- data/rails_generators/nifty_scaffold/templates/model_test.rb +8 -0
- data/test/test_nifty_scaffold_generator.rb +134 -0
- metadata +21 -2
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
|
@@ -8,6 +8,20 @@ rails_generators/nifty_layout/templates/layout.html.erb
|
|
|
8
8
|
rails_generators/nifty_layout/templates/stylesheet.css
|
|
9
9
|
rails_generators/nifty_layout/USAGE
|
|
10
10
|
rails_generators/nifty_scaffold/nifty_scaffold_generator.rb
|
|
11
|
+
rails_generators/nifty_scaffold/templates/action_specs/create.rb
|
|
12
|
+
rails_generators/nifty_scaffold/templates/action_specs/destroy.rb
|
|
13
|
+
rails_generators/nifty_scaffold/templates/action_specs/edit.rb
|
|
14
|
+
rails_generators/nifty_scaffold/templates/action_specs/index.rb
|
|
15
|
+
rails_generators/nifty_scaffold/templates/action_specs/new.rb
|
|
16
|
+
rails_generators/nifty_scaffold/templates/action_specs/show.rb
|
|
17
|
+
rails_generators/nifty_scaffold/templates/action_specs/update.rb
|
|
18
|
+
rails_generators/nifty_scaffold/templates/action_tests/create.rb
|
|
19
|
+
rails_generators/nifty_scaffold/templates/action_tests/destroy.rb
|
|
20
|
+
rails_generators/nifty_scaffold/templates/action_tests/edit.rb
|
|
21
|
+
rails_generators/nifty_scaffold/templates/action_tests/index.rb
|
|
22
|
+
rails_generators/nifty_scaffold/templates/action_tests/new.rb
|
|
23
|
+
rails_generators/nifty_scaffold/templates/action_tests/show.rb
|
|
24
|
+
rails_generators/nifty_scaffold/templates/action_tests/update.rb
|
|
11
25
|
rails_generators/nifty_scaffold/templates/actions/create.rb
|
|
12
26
|
rails_generators/nifty_scaffold/templates/actions/destroy.rb
|
|
13
27
|
rails_generators/nifty_scaffold/templates/actions/edit.rb
|
|
@@ -16,9 +30,14 @@ rails_generators/nifty_scaffold/templates/actions/new.rb
|
|
|
16
30
|
rails_generators/nifty_scaffold/templates/actions/show.rb
|
|
17
31
|
rails_generators/nifty_scaffold/templates/actions/update.rb
|
|
18
32
|
rails_generators/nifty_scaffold/templates/controller.rb
|
|
33
|
+
rails_generators/nifty_scaffold/templates/controller_spec.rb
|
|
34
|
+
rails_generators/nifty_scaffold/templates/controller_test.rb
|
|
35
|
+
rails_generators/nifty_scaffold/templates/fixtures.yml
|
|
19
36
|
rails_generators/nifty_scaffold/templates/helper.rb
|
|
20
37
|
rails_generators/nifty_scaffold/templates/migration.rb
|
|
21
38
|
rails_generators/nifty_scaffold/templates/model.rb
|
|
39
|
+
rails_generators/nifty_scaffold/templates/model_spec.rb
|
|
40
|
+
rails_generators/nifty_scaffold/templates/model_test.rb
|
|
22
41
|
rails_generators/nifty_scaffold/templates/views/_form.html.erb
|
|
23
42
|
rails_generators/nifty_scaffold/templates/views/edit.html.erb
|
|
24
43
|
rails_generators/nifty_scaffold/templates/views/index.html.erb
|
data/README
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
A collection of useful Rails generator scripts by Ryan Bates.
|
|
4
4
|
|
|
5
|
+
|
|
5
6
|
== Install
|
|
6
7
|
|
|
7
8
|
gem install ryanb-nifty-generators --source=http://gems.github.com
|
|
9
|
+
|
|
8
10
|
|
|
9
11
|
== Usage
|
|
10
12
|
|
|
@@ -16,6 +18,7 @@ To run the generator, go to your rails project directory and call it
|
|
|
16
18
|
using the script/generate or script/destroy command.
|
|
17
19
|
|
|
18
20
|
script/generate nifty_scaffold Recipe name:string index new
|
|
21
|
+
|
|
19
22
|
|
|
20
23
|
== Included Generators
|
|
21
24
|
|
|
@@ -26,6 +29,36 @@ Run the command with the --help option to learn more.
|
|
|
26
29
|
|
|
27
30
|
script/generate nifty_layout --help
|
|
28
31
|
|
|
32
|
+
== Troubleshooting
|
|
33
|
+
|
|
34
|
+
*I get "undefined method 'title'" error for nifty_scaffold.*
|
|
35
|
+
|
|
36
|
+
Try running nifty_layout too, that will generate this helper method. Or
|
|
37
|
+
you can just change the templates to whatever approach you prefer for
|
|
38
|
+
setting the title.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
*Forms don't work for nifty_scaffold.*
|
|
42
|
+
|
|
43
|
+
Try restarting your development server. Sometimes it doesn't detect the
|
|
44
|
+
change in the routing.
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
*The tests/specs don't work for nifty_scaffold.*
|
|
48
|
+
|
|
49
|
+
Make sure you have mocha installed and require it in your spec/test helper.
|
|
50
|
+
|
|
51
|
+
gem install mocha
|
|
52
|
+
|
|
53
|
+
# in spec_helper.rb
|
|
54
|
+
config.mock_with :mocha
|
|
55
|
+
|
|
56
|
+
# in test_helper.rb
|
|
57
|
+
require 'mocha'
|
|
58
|
+
|
|
59
|
+
Also, make sure you're using edge rails (or 2.1 when released) as some methods require that.
|
|
60
|
+
|
|
61
|
+
|
|
29
62
|
== Development
|
|
30
63
|
|
|
31
64
|
This project can be found on github at the following URL.
|
data/TODO
CHANGED
data/nifty-generators.gemspec
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
|
|
2
|
-
# Gem::Specification for Nifty-generators-0.1.
|
|
2
|
+
# Gem::Specification for Nifty-generators-0.1.1
|
|
3
3
|
# Originally generated by Echoe
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = %q{nifty-generators}
|
|
7
|
-
s.version = "0.1.
|
|
7
|
+
s.version = "0.1.1"
|
|
8
8
|
|
|
9
9
|
s.specification_version = 2 if s.respond_to? :specification_version=
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.authors = ["Ryan Bates"]
|
|
13
|
-
s.date = %q{2008-05-
|
|
13
|
+
s.date = %q{2008-05-09}
|
|
14
14
|
s.description = %q{A collection of useful generator scripts for Rails.}
|
|
15
15
|
s.email = %q{ryan (at) railscasts (dot) com}
|
|
16
16
|
s.extra_rdoc_files = ["CHANGELOG", "lib/nifty_generators.rb", "LICENSE", "README", "tasks/deployment.rake", "TODO"]
|
|
17
|
-
s.files = ["CHANGELOG", "lib/nifty_generators.rb", "LICENSE", "Manifest", "rails_generators/nifty_layout/nifty_layout_generator.rb", "rails_generators/nifty_layout/templates/helper.rb", "rails_generators/nifty_layout/templates/layout.html.erb", "rails_generators/nifty_layout/templates/stylesheet.css", "rails_generators/nifty_layout/USAGE", "rails_generators/nifty_scaffold/nifty_scaffold_generator.rb", "rails_generators/nifty_scaffold/templates/actions/create.rb", "rails_generators/nifty_scaffold/templates/actions/destroy.rb", "rails_generators/nifty_scaffold/templates/actions/edit.rb", "rails_generators/nifty_scaffold/templates/actions/index.rb", "rails_generators/nifty_scaffold/templates/actions/new.rb", "rails_generators/nifty_scaffold/templates/actions/show.rb", "rails_generators/nifty_scaffold/templates/actions/update.rb", "rails_generators/nifty_scaffold/templates/controller.rb", "rails_generators/nifty_scaffold/templates/helper.rb", "rails_generators/nifty_scaffold/templates/migration.rb", "rails_generators/nifty_scaffold/templates/model.rb", "rails_generators/nifty_scaffold/templates/views/_form.html.erb", "rails_generators/nifty_scaffold/templates/views/edit.html.erb", "rails_generators/nifty_scaffold/templates/views/index.html.erb", "rails_generators/nifty_scaffold/templates/views/new.html.erb", "rails_generators/nifty_scaffold/templates/views/show.html.erb", "rails_generators/nifty_scaffold/USAGE", "README", "tasks/deployment.rake", "test/test_helper.rb", "test/test_nifty_layout_generator.rb", "test/test_nifty_scaffold_generator.rb", "TODO", "nifty-generators.gemspec"]
|
|
17
|
+
s.files = ["CHANGELOG", "lib/nifty_generators.rb", "LICENSE", "Manifest", "rails_generators/nifty_layout/nifty_layout_generator.rb", "rails_generators/nifty_layout/templates/helper.rb", "rails_generators/nifty_layout/templates/layout.html.erb", "rails_generators/nifty_layout/templates/stylesheet.css", "rails_generators/nifty_layout/USAGE", "rails_generators/nifty_scaffold/nifty_scaffold_generator.rb", "rails_generators/nifty_scaffold/templates/action_specs/create.rb", "rails_generators/nifty_scaffold/templates/action_specs/destroy.rb", "rails_generators/nifty_scaffold/templates/action_specs/edit.rb", "rails_generators/nifty_scaffold/templates/action_specs/index.rb", "rails_generators/nifty_scaffold/templates/action_specs/new.rb", "rails_generators/nifty_scaffold/templates/action_specs/show.rb", "rails_generators/nifty_scaffold/templates/action_specs/update.rb", "rails_generators/nifty_scaffold/templates/action_tests/create.rb", "rails_generators/nifty_scaffold/templates/action_tests/destroy.rb", "rails_generators/nifty_scaffold/templates/action_tests/edit.rb", "rails_generators/nifty_scaffold/templates/action_tests/index.rb", "rails_generators/nifty_scaffold/templates/action_tests/new.rb", "rails_generators/nifty_scaffold/templates/action_tests/show.rb", "rails_generators/nifty_scaffold/templates/action_tests/update.rb", "rails_generators/nifty_scaffold/templates/actions/create.rb", "rails_generators/nifty_scaffold/templates/actions/destroy.rb", "rails_generators/nifty_scaffold/templates/actions/edit.rb", "rails_generators/nifty_scaffold/templates/actions/index.rb", "rails_generators/nifty_scaffold/templates/actions/new.rb", "rails_generators/nifty_scaffold/templates/actions/show.rb", "rails_generators/nifty_scaffold/templates/actions/update.rb", "rails_generators/nifty_scaffold/templates/controller.rb", "rails_generators/nifty_scaffold/templates/controller_spec.rb", "rails_generators/nifty_scaffold/templates/controller_test.rb", "rails_generators/nifty_scaffold/templates/fixtures.yml", "rails_generators/nifty_scaffold/templates/helper.rb", "rails_generators/nifty_scaffold/templates/migration.rb", "rails_generators/nifty_scaffold/templates/model.rb", "rails_generators/nifty_scaffold/templates/model_spec.rb", "rails_generators/nifty_scaffold/templates/model_test.rb", "rails_generators/nifty_scaffold/templates/views/_form.html.erb", "rails_generators/nifty_scaffold/templates/views/edit.html.erb", "rails_generators/nifty_scaffold/templates/views/index.html.erb", "rails_generators/nifty_scaffold/templates/views/new.html.erb", "rails_generators/nifty_scaffold/templates/views/show.html.erb", "rails_generators/nifty_scaffold/USAGE", "README", "tasks/deployment.rake", "test/test_helper.rb", "test/test_nifty_layout_generator.rb", "test/test_nifty_scaffold_generator.rb", "TODO", "nifty-generators.gemspec"]
|
|
18
18
|
s.has_rdoc = true
|
|
19
19
|
s.homepage = %q{http://github.com/ryanb/nifty-generators}
|
|
20
20
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Nifty-generators", "--main", "README"]
|
|
@@ -34,7 +34,7 @@ end
|
|
|
34
34
|
# begin
|
|
35
35
|
# require 'echoe'
|
|
36
36
|
#
|
|
37
|
-
# Echoe.new('nifty-generators', '0.1.
|
|
37
|
+
# Echoe.new('nifty-generators', '0.1.1') do |p|
|
|
38
38
|
# p.summary = "A collection of useful generator scripts for Rails."
|
|
39
39
|
# p.description = "A collection of useful generator scripts for Rails."
|
|
40
40
|
# p.url = "http://github.com/ryanb/nifty-generators"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Description:
|
|
2
2
|
Scaffolds an entire resource, from model and migration to controller and
|
|
3
3
|
views. The resource is ready to use as a starting point for your restful,
|
|
4
|
-
resource-oriented application. Tests are
|
|
5
|
-
|
|
4
|
+
resource-oriented application. Tests or specs are also generated depending
|
|
5
|
+
on if you have a "spec" directory or not.
|
|
6
6
|
|
|
7
7
|
Usage:
|
|
8
8
|
Pass the name of the model, either CamelCased or under_scored, as the first
|
|
@@ -49,6 +49,18 @@ class NiftyScaffoldGenerator < Rails::Generator::Base
|
|
|
49
49
|
unless options[:skip_migration]
|
|
50
50
|
m.migration_template "migration.rb", "db/migrate", :migration_file_name => "create_#{plural_name}"
|
|
51
51
|
end
|
|
52
|
+
|
|
53
|
+
if spec_dir?
|
|
54
|
+
m.directory "spec/models"
|
|
55
|
+
m.template "model_spec.rb", "spec/models/#{singular_name}_spec.rb"
|
|
56
|
+
m.directory "spec/fixtures"
|
|
57
|
+
m.template "fixtures.yml", "spec/fixtures/#{plural_name}.yml"
|
|
58
|
+
else
|
|
59
|
+
m.directory "test/unit"
|
|
60
|
+
m.template "model_test.rb", "test/unit/#{singular_name}_test.rb"
|
|
61
|
+
m.directory "test/fixtures"
|
|
62
|
+
m.template "fixtures.yml", "test/fixtures/#{plural_name}.yml"
|
|
63
|
+
end
|
|
52
64
|
end
|
|
53
65
|
|
|
54
66
|
unless options[:skip_controller]
|
|
@@ -70,6 +82,14 @@ class NiftyScaffoldGenerator < Rails::Generator::Base
|
|
|
70
82
|
end
|
|
71
83
|
|
|
72
84
|
m.route_resources plural_name
|
|
85
|
+
|
|
86
|
+
if spec_dir?
|
|
87
|
+
m.directory "spec/controllers"
|
|
88
|
+
m.template "controller_spec.rb", "spec/controllers/#{plural_name}_controller_spec.rb"
|
|
89
|
+
else
|
|
90
|
+
m.directory "test/functional"
|
|
91
|
+
m.template "controller_test.rb", "test/functional/#{plural_name}_controller_test.rb"
|
|
92
|
+
end
|
|
73
93
|
end
|
|
74
94
|
end
|
|
75
95
|
end
|
|
@@ -106,14 +126,10 @@ class NiftyScaffoldGenerator < Rails::Generator::Base
|
|
|
106
126
|
plural_name.camelize
|
|
107
127
|
end
|
|
108
128
|
|
|
109
|
-
def controller_methods
|
|
129
|
+
def controller_methods(dir_name)
|
|
110
130
|
controller_actions.map do |action|
|
|
111
|
-
|
|
112
|
-
end.join("\n")
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
def controller_method(name)
|
|
116
|
-
read_template("actions/#{name}.rb")
|
|
131
|
+
read_template("#{dir_name}/#{action}.rb")
|
|
132
|
+
end.join(" \n").strip
|
|
117
133
|
end
|
|
118
134
|
|
|
119
135
|
def render_form
|
|
@@ -132,12 +148,32 @@ class NiftyScaffoldGenerator < Rails::Generator::Base
|
|
|
132
148
|
end
|
|
133
149
|
end
|
|
134
150
|
|
|
151
|
+
def item_path_for_spec
|
|
152
|
+
if action? :show
|
|
153
|
+
"#{singular_name}_path(assigns[:#{singular_name}])"
|
|
154
|
+
else
|
|
155
|
+
"#{plural_name}_path"
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def item_path_for_test
|
|
160
|
+
if action? :show
|
|
161
|
+
"#{singular_name}_path(assigns(:#{singular_name}))"
|
|
162
|
+
else
|
|
163
|
+
"#{plural_name}_path"
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
135
167
|
def model_columns_for_attributes
|
|
136
168
|
class_name.constantize.columns.reject do |column|
|
|
137
169
|
column.name.to_s =~ /^(id|created_at|updated_at)$/
|
|
138
170
|
end
|
|
139
171
|
end
|
|
140
172
|
|
|
173
|
+
def spec_dir?
|
|
174
|
+
File.exist? destination_path("spec")
|
|
175
|
+
end
|
|
176
|
+
|
|
141
177
|
protected
|
|
142
178
|
|
|
143
179
|
def add_options!(opt)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
it "create action should render new template when model is invalid" do
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
post :create
|
|
4
|
+
response.should render_template(:new)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "create action should redirect to index action when model is valid" do
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
post :create
|
|
10
|
+
response.should redirect_to(<%= item_path_for_spec %>)
|
|
11
|
+
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
it "destroy action should destroy model and redirect to index action" do
|
|
2
|
+
<%= singular_name %> = <%= class_name %>.first
|
|
3
|
+
delete :destroy, :id => <%= singular_name %>
|
|
4
|
+
response.should redirect_to(<%= plural_name %>_path)
|
|
5
|
+
<%= class_name %>.exists?(<%= singular_name %>.id).should be_false
|
|
6
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
it "update action should render edit template when model is invalid" do
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
put :update, :id => <%= class_name %>.first
|
|
4
|
+
response.should render_template(:edit)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "update action should redirect to show action when model is valid" do
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
put :update, :id => <%= class_name %>.first
|
|
10
|
+
response.should redirect_to(<%= item_path_for_spec %>)
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_create_invalid
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
post :create
|
|
4
|
+
assert_template 'new'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def test_create_valid
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
post :create
|
|
10
|
+
assert_redirected_to <%= item_path_for_test %>
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
def test_update_invalid
|
|
2
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(false)
|
|
3
|
+
put :update, :id => <%= class_name %>.first
|
|
4
|
+
assert_template 'edit'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def test_update_valid
|
|
8
|
+
<%= class_name %>.any_instance.stubs(:valid?).returns(true)
|
|
9
|
+
put :update, :id => <%= class_name %>.first
|
|
10
|
+
assert_redirected_to <%= item_path_for_test %>
|
|
11
|
+
end
|
|
@@ -342,6 +342,140 @@ class TestNiftyScaffoldGenerator < Test::Unit::TestCase
|
|
|
342
342
|
end
|
|
343
343
|
end
|
|
344
344
|
end
|
|
345
|
+
|
|
346
|
+
context "with spec dir" do
|
|
347
|
+
setup do
|
|
348
|
+
Dir.mkdir("#{RAILS_ROOT}/spec") unless File.exists?("#{RAILS_ROOT}/spec")
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
teardown do
|
|
352
|
+
FileUtils.rm_rf "#{RAILS_ROOT}/spec"
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
context "generator with some attributes" do
|
|
356
|
+
rails_generator :nifty_scaffold, "line_item", "name:string", "description:text"
|
|
357
|
+
|
|
358
|
+
should_generate_file "spec/models/line_item_spec.rb"
|
|
359
|
+
|
|
360
|
+
should "have controller specs for each action" do
|
|
361
|
+
assert_generated_file "spec/controllers/line_items_controller_spec.rb" do |body|
|
|
362
|
+
assert_match "get :index", body
|
|
363
|
+
assert_match "get :show", body
|
|
364
|
+
assert_match "get :new", body
|
|
365
|
+
assert_match "get :edit", body
|
|
366
|
+
assert_match "post :create", body
|
|
367
|
+
assert_match "put :update", body
|
|
368
|
+
assert_match "delete :destroy", body
|
|
369
|
+
end
|
|
370
|
+
end
|
|
371
|
+
|
|
372
|
+
should "have fixture with attributes" do
|
|
373
|
+
assert_generated_file "spec/fixtures/line_items.yml" do |body|
|
|
374
|
+
assert_match "name: MyString", body
|
|
375
|
+
assert_match "description: MyText", body
|
|
376
|
+
end
|
|
377
|
+
end
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
context "generator with new and index actions" do
|
|
381
|
+
rails_generator :nifty_scaffold, "line_item", "new", "index"
|
|
382
|
+
|
|
383
|
+
should "have controller spec with only mentioned actions" do
|
|
384
|
+
assert_generated_file "spec/controllers/line_items_controller_spec.rb" do |body|
|
|
385
|
+
assert_match "get :index", body
|
|
386
|
+
assert_match "get :new", body
|
|
387
|
+
assert_match "post :create", body
|
|
388
|
+
assert_no_match(/get :show/, body)
|
|
389
|
+
assert_no_match(/get :edit/, body)
|
|
390
|
+
assert_no_match(/put :update/, body)
|
|
391
|
+
assert_no_match(/delete :destroy/, body)
|
|
392
|
+
end
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
should "should redirect to index action on successful create" do
|
|
396
|
+
assert_generated_file "spec/controllers/line_items_controller_spec.rb" do |body|
|
|
397
|
+
assert_match "redirect_to(line_items_path)", body
|
|
398
|
+
end
|
|
399
|
+
end
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
context "generator with edit and index actions" do
|
|
403
|
+
rails_generator :nifty_scaffold, "line_item", "edit", "index"
|
|
404
|
+
|
|
405
|
+
should "should redirect to index action on successful update" do
|
|
406
|
+
assert_generated_file "spec/controllers/line_items_controller_spec.rb" do |body|
|
|
407
|
+
assert_match "redirect_to(line_items_path)", body
|
|
408
|
+
end
|
|
409
|
+
end
|
|
410
|
+
end
|
|
411
|
+
end
|
|
412
|
+
|
|
413
|
+
context "with test dir" do
|
|
414
|
+
setup do
|
|
415
|
+
Dir.mkdir("#{RAILS_ROOT}/test") unless File.exists?("#{RAILS_ROOT}/test")
|
|
416
|
+
end
|
|
417
|
+
|
|
418
|
+
teardown do
|
|
419
|
+
FileUtils.rm_rf "#{RAILS_ROOT}/test"
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
context "generator with some attributes" do
|
|
423
|
+
rails_generator :nifty_scaffold, "line_item", "name:string", "description:text"
|
|
424
|
+
|
|
425
|
+
should_generate_file "test/unit/line_item_test.rb"
|
|
426
|
+
|
|
427
|
+
should "have controller tests for each action" do
|
|
428
|
+
assert_generated_file "test/functional/line_items_controller_test.rb" do |body|
|
|
429
|
+
assert_match "get :index", body
|
|
430
|
+
assert_match "get :show", body
|
|
431
|
+
assert_match "get :new", body
|
|
432
|
+
assert_match "get :edit", body
|
|
433
|
+
assert_match "post :create", body
|
|
434
|
+
assert_match "put :update", body
|
|
435
|
+
assert_match "delete :destroy", body
|
|
436
|
+
end
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
should "have fixture with attributes" do
|
|
440
|
+
assert_generated_file "test/fixtures/line_items.yml" do |body|
|
|
441
|
+
assert_match "name: MyString", body
|
|
442
|
+
assert_match "description: MyText", body
|
|
443
|
+
end
|
|
444
|
+
end
|
|
445
|
+
end
|
|
446
|
+
|
|
447
|
+
context "generator with new and index actions" do
|
|
448
|
+
rails_generator :nifty_scaffold, "line_item", "new", "index"
|
|
449
|
+
|
|
450
|
+
should "have controller test with only mentioned actions" do
|
|
451
|
+
assert_generated_file "test/functional/line_items_controller_test.rb" do |body|
|
|
452
|
+
assert_match "get :index", body
|
|
453
|
+
assert_match "get :new", body
|
|
454
|
+
assert_match "post :create", body
|
|
455
|
+
assert_no_match(/get :show/, body)
|
|
456
|
+
assert_no_match(/get :edit/, body)
|
|
457
|
+
assert_no_match(/put :update/, body)
|
|
458
|
+
assert_no_match(/delete :destroy/, body)
|
|
459
|
+
end
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
should "should redirect to index action on successful create" do
|
|
463
|
+
assert_generated_file "test/functional/line_items_controller_test.rb" do |body|
|
|
464
|
+
assert_match "assert_redirected_to line_items_path", body
|
|
465
|
+
end
|
|
466
|
+
end
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
context "generator with edit and index actions" do
|
|
470
|
+
rails_generator :nifty_scaffold, "line_item", "edit", "index"
|
|
471
|
+
|
|
472
|
+
should "should redirect to index action on successful update" do
|
|
473
|
+
assert_generated_file "test/functional/line_items_controller_test.rb" do |body|
|
|
474
|
+
assert_match "assert_redirected_to line_items_path", body
|
|
475
|
+
end
|
|
476
|
+
end
|
|
477
|
+
end
|
|
478
|
+
end
|
|
345
479
|
end
|
|
346
480
|
end
|
|
347
481
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ryanb-nifty-generators
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Bates
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2008-05-
|
|
12
|
+
date: 2008-05-09 00:00:00 -07:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies: []
|
|
15
15
|
|
|
@@ -37,6 +37,20 @@ files:
|
|
|
37
37
|
- rails_generators/nifty_layout/templates/stylesheet.css
|
|
38
38
|
- rails_generators/nifty_layout/USAGE
|
|
39
39
|
- rails_generators/nifty_scaffold/nifty_scaffold_generator.rb
|
|
40
|
+
- rails_generators/nifty_scaffold/templates/action_specs/create.rb
|
|
41
|
+
- rails_generators/nifty_scaffold/templates/action_specs/destroy.rb
|
|
42
|
+
- rails_generators/nifty_scaffold/templates/action_specs/edit.rb
|
|
43
|
+
- rails_generators/nifty_scaffold/templates/action_specs/index.rb
|
|
44
|
+
- rails_generators/nifty_scaffold/templates/action_specs/new.rb
|
|
45
|
+
- rails_generators/nifty_scaffold/templates/action_specs/show.rb
|
|
46
|
+
- rails_generators/nifty_scaffold/templates/action_specs/update.rb
|
|
47
|
+
- rails_generators/nifty_scaffold/templates/action_tests/create.rb
|
|
48
|
+
- rails_generators/nifty_scaffold/templates/action_tests/destroy.rb
|
|
49
|
+
- rails_generators/nifty_scaffold/templates/action_tests/edit.rb
|
|
50
|
+
- rails_generators/nifty_scaffold/templates/action_tests/index.rb
|
|
51
|
+
- rails_generators/nifty_scaffold/templates/action_tests/new.rb
|
|
52
|
+
- rails_generators/nifty_scaffold/templates/action_tests/show.rb
|
|
53
|
+
- rails_generators/nifty_scaffold/templates/action_tests/update.rb
|
|
40
54
|
- rails_generators/nifty_scaffold/templates/actions/create.rb
|
|
41
55
|
- rails_generators/nifty_scaffold/templates/actions/destroy.rb
|
|
42
56
|
- rails_generators/nifty_scaffold/templates/actions/edit.rb
|
|
@@ -45,9 +59,14 @@ files:
|
|
|
45
59
|
- rails_generators/nifty_scaffold/templates/actions/show.rb
|
|
46
60
|
- rails_generators/nifty_scaffold/templates/actions/update.rb
|
|
47
61
|
- rails_generators/nifty_scaffold/templates/controller.rb
|
|
62
|
+
- rails_generators/nifty_scaffold/templates/controller_spec.rb
|
|
63
|
+
- rails_generators/nifty_scaffold/templates/controller_test.rb
|
|
64
|
+
- rails_generators/nifty_scaffold/templates/fixtures.yml
|
|
48
65
|
- rails_generators/nifty_scaffold/templates/helper.rb
|
|
49
66
|
- rails_generators/nifty_scaffold/templates/migration.rb
|
|
50
67
|
- rails_generators/nifty_scaffold/templates/model.rb
|
|
68
|
+
- rails_generators/nifty_scaffold/templates/model_spec.rb
|
|
69
|
+
- rails_generators/nifty_scaffold/templates/model_test.rb
|
|
51
70
|
- rails_generators/nifty_scaffold/templates/views/_form.html.erb
|
|
52
71
|
- rails_generators/nifty_scaffold/templates/views/edit.html.erb
|
|
53
72
|
- rails_generators/nifty_scaffold/templates/views/index.html.erb
|