From ea2c5fa8046e2f953b366adc94f0610ccfea0828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 6 Apr 2010 00:12:28 +0200 Subject: [PATCH] A new application now comes with a layout and a stylesheet. --- railties/CHANGELOG | 2 ++ railties/lib/rails/generators.rb | 2 -- .../erb/scaffold/scaffold_generator.rb | 6 ------ .../erb/scaffold/templates/layout.html.erb | 17 ----------------- .../rails/generators/rails/app/app_generator.rb | 2 +- .../app/controllers/application_controller.rb | 1 + .../app/views/layouts/.empty_directory | 0 .../app/views/layouts/application.html.erb | 17 +++++++++++++++++ .../public/stylesheets/.empty_directory | 0 .../public/stylesheets/application.css} | 0 .../rails/scaffold/scaffold_generator.rb | 1 - .../rails/generators/rails/stylesheets/USAGE | 5 ----- .../rails/stylesheets/stylesheets_generator.rb | 9 --------- railties/test/generators/app_generator_test.rb | 7 +++++++ .../scaffold_controller_generator_test.rb | 1 - .../test/generators/scaffold_generator_test.rb | 8 -------- .../generators/stylesheets_generator_test.rb | 17 ----------------- 17 files changed, 28 insertions(+), 67 deletions(-) delete mode 100644 railties/lib/rails/generators/erb/scaffold/templates/layout.html.erb delete mode 100644 railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory create mode 100644 railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb delete mode 100644 railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory rename railties/lib/rails/generators/rails/{stylesheets/templates/scaffold.css => app/templates/public/stylesheets/application.css} (100%) delete mode 100644 railties/lib/rails/generators/rails/stylesheets/USAGE delete mode 100644 railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb delete mode 100644 railties/test/generators/stylesheets_generator_test.rb diff --git a/railties/CHANGELOG b/railties/CHANGELOG index 82684e4614..261333628d 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 146974ae20..ebb64d5025 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 f607e580a5..ee591d85b3 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 3f64be0c45..0000000000 --- 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 fbad3c9ef1..df6e98f38d 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 e8065d9505..f2569b3a77 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 e69de29bb2..0000000000 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 0000000000..7a08d5b957 --- /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 e69de29bb2..0000000000 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 779f933785..bd156f399c 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 59e5495d0b..0000000000 --- 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 ce68443c39..0000000000 --- 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 95ca2acf2c..64579c1205 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 77ed63b1bb..f5af137ced 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 6cf2efca45..3cad65f503 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 aaeb686daa..0000000000 --- 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 -- GitLab