diff --git a/railties/CHANGELOG b/railties/CHANGELOG index 82684e4614eaec14377209b65c4e5d35a9692bf8..261333628de104f8623eaae108ce6a71c286f546 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,3 +1,5 @@ +* A new application now comes with a layout and a stylesheet. [JV] + * Renamed config.cookie_secret to config.secret_token and pass it as env key. [JV] *Rails 3.0.0 [beta 2] (April 1st, 2010)* diff --git a/railties/lib/rails/generators.rb b/railties/lib/rails/generators.rb index 146974ae20ee5e97e8b717e6f6d9981de5bc55ad..ebb64d5025dfdbbe1fad28c86cda8a75b237843b 100644 --- a/railties/lib/rails/generators.rb +++ b/railties/lib/rails/generators.rb @@ -26,7 +26,6 @@ module Generators :orm => '-o', :resource_controller => '-c', :scaffold_controller => '-c', - :stylesheets => '-y', :template_engine => '-e', :test_framework => '-t' }, @@ -56,7 +55,6 @@ module Generators :resource_controller => :controller, :scaffold_controller => :scaffold_controller, :singleton => false, - :stylesheets => true, :test_framework => nil, :template_engine => :erb }, diff --git a/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb b/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb index f607e580a5b0cf9f392b2576ce4e17b5f4a6c985..ee591d85b351cac7c3fc18a8fcb96558fa52901b 100644 --- a/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb +++ b/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb @@ -25,12 +25,6 @@ def copy_view_files end end - def copy_layout_file - return unless options[:layout] - template filename_with_extensions(:layout), - File.join("app/views/layouts", controller_class_path, filename_with_extensions(controller_file_name)) - end - protected def available_views diff --git a/railties/lib/rails/generators/erb/scaffold/templates/layout.html.erb b/railties/lib/rails/generators/erb/scaffold/templates/layout.html.erb deleted file mode 100644 index 3f64be0c45c7670231b3139588ad2c1a89b91479..0000000000000000000000000000000000000000 --- a/railties/lib/rails/generators/erb/scaffold/templates/layout.html.erb +++ /dev/null @@ -1,17 +0,0 @@ - - - - <%= controller_class_name %>: <%%= controller.action_name %> - <%%= stylesheet_link_tag 'scaffold' %> - <%%= javascript_include_tag :defaults %> - <%%= csrf_meta_tag %> - - - -

<%%= notice %>

-

<%%= alert %>

- -<%%= yield %> - - - diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index fbad3c9ef126e78258b8252d2d146c744a19bf05..df6e98f38de08e66f7d03fe9df9f3ab56e30757a 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -137,7 +137,7 @@ def create_public_image_files end def create_public_stylesheets_files - empty_directory_with_gitkeep "public/stylesheets" + directory "public/stylesheets" end def create_prototype_files diff --git a/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb b/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb index e8065d9505d7ec6f727021c827de18a0a95737de..f2569b3a77d624b4589df9e99bb231511923b2a5 100644 --- a/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb +++ b/railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb @@ -1,3 +1,4 @@ class ApplicationController < ActionController::Base protect_from_forgery + layout 'application' end diff --git a/railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb new file mode 100644 index 0000000000000000000000000000000000000000..7a08d5b957889287b00c2aef1baf83a413d65fd7 --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb @@ -0,0 +1,17 @@ + + + + <%= controller_name.humanize %>: <%= action_name %> + <%= stylesheet_link_tag 'application' %> + <%= javascript_include_tag :defaults %> + <%= csrf_meta_tag %> + + + +

<%= notice %>

+

<%= alert %>

+ +<%= yield %> + + + diff --git a/railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory b/railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css b/railties/lib/rails/generators/rails/app/templates/public/stylesheets/application.css similarity index 100% rename from railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css rename to railties/lib/rails/generators/rails/app/templates/public/stylesheets/application.css diff --git a/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb b/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb index 779f9337853e8c7f2706fe4ed8a8ff061ed48214..bd156f399cdf8e3badada553a8d5d89c6e31d24b 100644 --- a/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb +++ b/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb @@ -7,7 +7,6 @@ class ScaffoldGenerator < ResourceGenerator #metagenerator remove_class_option :actions hook_for :scaffold_controller, :required => true - hook_for :stylesheets end end end diff --git a/railties/lib/rails/generators/rails/stylesheets/USAGE b/railties/lib/rails/generators/rails/stylesheets/USAGE deleted file mode 100644 index 59e5495d0be156a436357241f1ed7588128f70e6..0000000000000000000000000000000000000000 --- a/railties/lib/rails/generators/rails/stylesheets/USAGE +++ /dev/null @@ -1,5 +0,0 @@ -Description: - Copies scaffold stylesheets to public/stylesheets/. - -Examples: - `rails generate stylesheets` diff --git a/railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb b/railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb deleted file mode 100644 index ce68443c397b8fbce3c0910fdcbe4da2ef02adb7..0000000000000000000000000000000000000000 --- a/railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Rails - module Generators - class StylesheetsGenerator < Base - def copy_stylesheets_file - template "scaffold.css", "public/stylesheets/scaffold.css" if behavior == :invoke - end - end - end -end diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 95ca2acf2c5d3f753ad07d253049834418be4ddd..64579c1205e9b334d41dad1fa8a609a68ec10557 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -51,6 +51,13 @@ def test_application_skeleton_is_created ).each{ |path| assert_file path } end + def test_application_controller_and_layout_files + run_generator + assert_file "app/controllers/application_controller.rb", /layout 'application'/ + assert_file "app/views/layouts/application.html.erb", /stylesheet_link_tag 'application'/ + assert_file "public/stylesheets/application.css" + end + def test_name_collision_raises_an_error content = capture(:stderr){ run_generator [File.join(destination_root, "generate")] } assert_equal "Invalid application name generate. Please give a name which does not match one of the reserved rails words.\n", content diff --git a/railties/test/generators/scaffold_controller_generator_test.rb b/railties/test/generators/scaffold_controller_generator_test.rb index 77ed63b1bb45816180b7ba8ec269fb127e8fb98f..f5af137ceda18d7bf5e7d66bff5f3e18947d22fe 100644 --- a/railties/test/generators/scaffold_controller_generator_test.rb +++ b/railties/test/generators/scaffold_controller_generator_test.rb @@ -66,7 +66,6 @@ def test_views_are_generated new show ).each { |view| assert_file "app/views/users/#{view}.html.erb" } - assert_file "app/views/layouts/users.html.erb" end def test_functional_tests diff --git a/railties/test/generators/scaffold_generator_test.rb b/railties/test/generators/scaffold_generator_test.rb index 6cf2efca4542d72377bd981c96fc167e6ab1f4fb..3cad65f50379bb280e5eee4640c23d4b7b360132 100644 --- a/railties/test/generators/scaffold_generator_test.rb +++ b/railties/test/generators/scaffold_generator_test.rb @@ -70,14 +70,10 @@ def test_scaffold_on_invoke show _form ).each { |view| assert_file "app/views/product_lines/#{view}.html.erb" } - assert_file "app/views/layouts/product_lines.html.erb" # Helpers assert_file "app/helpers/product_lines_helper.rb" assert_file "test/unit/helpers/product_lines_helper_test.rb" - - # Stylesheets - assert_file "public/stylesheets/scaffold.css" end def test_scaffold_on_revoke @@ -101,13 +97,9 @@ def test_scaffold_on_revoke # Views assert_no_file "app/views/product_lines" - assert_no_file "app/views/layouts/product_lines.html.erb" # Helpers assert_no_file "app/helpers/product_lines_helper.rb" assert_no_file "test/unit/helpers/product_lines_helper_test.rb" - - # Stylesheets (should not be removed) - assert_file "public/stylesheets/scaffold.css" end end diff --git a/railties/test/generators/stylesheets_generator_test.rb b/railties/test/generators/stylesheets_generator_test.rb deleted file mode 100644 index aaeb686daac154913ed7276ca6bcfc81044f5bf8..0000000000000000000000000000000000000000 --- a/railties/test/generators/stylesheets_generator_test.rb +++ /dev/null @@ -1,17 +0,0 @@ -require 'generators/generators_test_helper' -require 'rails/generators/rails/stylesheets/stylesheets_generator' - -class StylesheetsGeneratorTest < Rails::Generators::TestCase - include GeneratorsTestHelper - - def test_copy_stylesheets - run_generator - assert_file "public/stylesheets/scaffold.css" - end - - def test_stylesheets_are_not_deleted_on_revoke - run_generator - run_generator [], :behavior => :revoke - assert_file "public/stylesheets/scaffold.css" - end -end