Skip to content

Commit 6d9f9b3

Browse files
committed
Add a hook for serializers in the scaffold generator (off for now).
1 parent ebb8ea2 commit 6d9f9b3

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

railties/lib/rails/generators.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ module Generators
3333
:stylesheets => '-y',
3434
:stylesheet_engine => '-se',
3535
:template_engine => '-e',
36-
:test_framework => '-t'
36+
:test_framework => '-t',
37+
:serializer => '-z'
3738
},
3839

3940
:test_unit => {
@@ -58,6 +59,7 @@ module Generators
5859
:performance_tool => nil,
5960
:resource_controller => :controller,
6061
:scaffold_controller => :scaffold_controller,
62+
:serializer => false,
6163
:stylesheets => true,
6264
:stylesheet_engine => :css,
6365
:test_framework => false,

railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class ScaffoldGenerator < ResourceGenerator #metagenerator
1010
class_option :stylesheet_engine, :desc => "Engine for Stylesheets"
1111

1212
hook_for :scaffold_controller, :required => true
13+
hook_for :serializer
1314

1415
hook_for :assets do |assets|
1516
invoke assets, [controller_name]

railties/test/generators/scaffold_generator_test.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,15 @@ def test_scaffold_generator_no_javascripts
264264
assert_file "app/assets/stylesheets/posts.css"
265265
end
266266

267+
def test_scaffold_also_generators_serializer
268+
run_generator [ "posts", "name:string", "author:references", "--serializer" ]
269+
assert_file "app/serializers/post_serializer.rb" do |serializer|
270+
assert_match /class PostSerializer < ActiveModel::Serializer/, serializer
271+
assert_match /^ attributes :name$/, serializer
272+
assert_match /^ has_one :author$/, serializer
273+
end
274+
end
275+
267276
def test_scaffold_generator_outputs_error_message_on_missing_attribute_type
268277
run_generator ["post", "title", "body:text", "author"]
269278

0 commit comments

Comments
 (0)