Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Remove the --singeleton option from scaffold generator.

It turned out to be that scaffold for singeleton resource will always depend on another model, and it's not possible at the moment to make the application tests pass after generate the singeleton scafold. So, it would be better to remove it for now and probably provide another generator, such as singeleton_scaffold, in which also require the depended model name.

[#4863 state:resolved]

Signed-off-by: José Valim <jose.valim@gmail.com>
  • Loading branch information...
commit 67ee6c38b9b112eabe37d5869c23210b9ebf453c 1 parent 7a7c608
Prem Sichanugrist sikachu authored josevalim committed
3  railties/lib/rails/generators.rb
View
@@ -50,7 +50,6 @@ module Generators
:performance_tool => nil,
:resource_controller => :controller,
:scaffold_controller => :scaffold_controller,
- :singleton => false,
:stylesheets => true,
:test_framework => nil,
:template_engine => :erb
@@ -334,4 +333,4 @@ def self.namespaces_to_paths(namespaces) #:nodoc:
paths
end
end
-end
+end
7 railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb
View
@@ -8,17 +8,12 @@ class ScaffoldGenerator < Base
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
- class_option :singleton, :type => :boolean, :desc => "Supply to skip index view"
-
def create_root_folder
empty_directory File.join("app/views", controller_file_path)
end
def copy_view_files
- views = available_views
- views.delete("index") if options[:singleton]
-
- views.each do |view|
+ available_views.each do |view|
filename = filename_with_extensions(view)
template filename, File.join("app/views", controller_file_path, filename)
end
15 railties/lib/rails/generators/rails/resource/resource_generator.rb
View
@@ -14,26 +14,13 @@ class ResourceGenerator < ModelGenerator #metagenerator
class_option :actions, :type => :array, :banner => "ACTION ACTION", :default => [],
:desc => "Actions for the resource controller"
- class_option :singleton, :type => :boolean, :desc => "Supply to create a singleton controller"
-
def add_resource_route
return if options[:actions].present?
route_config = class_path.collect{|namespace| "namespace :#{namespace} do " }.join(" ")
- route_config << "resource#{:s unless options[:singleton]} :#{pluralize?(file_name)}"
+ route_config << "resources :#{file_name.pluralize}"
route_config << " end" * class_path.size
route route_config
end
-
- protected
-
- def pluralize?(name)
- if options[:singleton]
- name
- else
- name.pluralize
- end
- end
-
end
end
end
2  railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
View
@@ -10,8 +10,6 @@ class ScaffoldControllerGenerator < NamedBase
class_option :orm, :banner => "NAME", :type => :string, :required => true,
:desc => "ORM to generate the controller for"
- class_option :singleton, :type => :boolean, :desc => "Supply to create a singleton controller"
-
def create_controller_files
template 'controller.rb', File.join('app/controllers', class_path, "#{controller_file_name}_controller.rb")
end
2  railties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb
View
@@ -1,5 +1,4 @@
class <%= controller_class_name %>Controller < ApplicationController
-<% unless options[:singleton] -%>
# GET <%= route_url %>
# GET <%= route_url %>.xml
def index
@@ -10,7 +9,6 @@ def index
format.xml { render :xml => @<%= plural_table_name %> }
end
end
-<% end -%>
# GET <%= route_url %>/1
# GET <%= route_url %>/1.xml
1  railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb
View
@@ -6,7 +6,6 @@ module Generators
class ScaffoldGenerator < Base
include Rails::Generators::ResourceHelpers
- class_option :singleton, :type => :boolean, :desc => "Supply to create a singleton controller"
check_class_collision :suffix => "ControllerTest"
def create_test_files
2  railties/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb
View
@@ -5,13 +5,11 @@ class <%= controller_class_name %>ControllerTest < ActionController::TestCase
@<%= singular_table_name %> = <%= table_name %>(:one)
end
-<% unless options[:singleton] -%>
test "should get index" do
get :index
assert_response :success
assert_not_nil assigns(:<%= table_name %>)
end
-<% end -%>
test "should get new" do
get :new
8 railties/test/generators/resource_generator_test.rb
View
@@ -59,14 +59,6 @@ def test_resource_routes_are_added
end
end
- def test_singleton_resource
- run_generator ["account", "--singleton"]
-
- assert_file "config/routes.rb" do |route|
- assert_match /resource :account$/, route
- end
- end
-
def test_plural_names_are_singularized
content = run_generator ["accounts".freeze]
assert_file "app/models/account.rb", /class Account < ActiveRecord::Base/
14 railties/test/generators/scaffold_controller_generator_test.rb
View
@@ -78,20 +78,6 @@ def test_functional_tests
end
end
- def test_generates_singleton_controller
- run_generator ["User", "name:string", "age:integer", "--singleton"]
-
- assert_file "app/controllers/users_controller.rb" do |content|
- assert_no_match /def index/, content
- end
-
- assert_file "test/functional/users_controller_test.rb" do |content|
- assert_no_match /test "should get index"/, content
- end
-
- assert_no_file "app/views/users/index.html.erb"
- end
-
def test_skip_helper_if_required
run_generator ["User", "name:string", "age:integer", "--no-helper"]
assert_no_file "app/helpers/users_helper.rb"
Please sign in to comment.
Something went wrong with that request. Please try again.