diff options
Diffstat (limited to 'railties')
-rw-r--r-- | railties/CHANGELOG | 2 | ||||
-rw-r--r-- | railties/lib/rails/generators.rb | 2 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/app/app_generator.rb | 2 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory | 0 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory | 0 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb | 1 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/stylesheets/USAGE | 5 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb | 9 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css (renamed from railties/lib/rails/generators/rails/app/templates/public/stylesheets/application.css) | 0 | ||||
-rw-r--r-- | railties/test/generators/scaffold_controller_generator_test.rb | 1 | ||||
-rw-r--r-- | railties/test/generators/scaffold_generator_test.rb | 8 | ||||
-rw-r--r-- | railties/test/generators/stylesheets_generator_test.rb | 17 |
12 files changed, 44 insertions, 3 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG index 261333628d..82684e4614 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,3 @@ -* 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 5f93dbf18f..9bc019b152 100644 --- a/railties/lib/rails/generators.rb +++ b/railties/lib/rails/generators.rb @@ -26,6 +26,7 @@ module Rails :orm => '-o', :resource_controller => '-c', :scaffold_controller => '-c', + :stylesheets => '-y', :template_engine => '-e', :test_framework => '-t' }, @@ -50,6 +51,7 @@ module Rails :resource_controller => :controller, :scaffold_controller => :scaffold_controller, :singleton => false, + :stylesheets => true, :test_framework => nil, :template_engine => :erb }, diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index f7644c3280..192792d078 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -142,7 +142,7 @@ module Rails::Generators end def create_public_stylesheets_files - directory "public/stylesheets" + empty_directory_with_gitkeep "public/stylesheets" end def create_prototype_files 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 new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory 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 new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory diff --git a/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb b/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb index bd156f399c..779f933785 100644 --- a/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb +++ b/railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb @@ -7,6 +7,7 @@ module Rails 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 new file mode 100644 index 0000000000..59e5495d0b --- /dev/null +++ b/railties/lib/rails/generators/rails/stylesheets/USAGE @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000000..ce68443c39 --- /dev/null +++ b/railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb @@ -0,0 +1,9 @@ +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/lib/rails/generators/rails/app/templates/public/stylesheets/application.css b/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css index ea3dc9b8b5..ea3dc9b8b5 100644 --- a/railties/lib/rails/generators/rails/app/templates/public/stylesheets/application.css +++ b/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css diff --git a/railties/test/generators/scaffold_controller_generator_test.rb b/railties/test/generators/scaffold_controller_generator_test.rb index f5af137ced..8040b22fe6 100644 --- a/railties/test/generators/scaffold_controller_generator_test.rb +++ b/railties/test/generators/scaffold_controller_generator_test.rb @@ -66,6 +66,7 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase new show ).each { |view| assert_file "app/views/users/#{view}.html.erb" } + assert_no_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 3cad65f503..e8e622fe5c 100644 --- a/railties/test/generators/scaffold_generator_test.rb +++ b/railties/test/generators/scaffold_generator_test.rb @@ -70,10 +70,14 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase show _form ).each { |view| assert_file "app/views/product_lines/#{view}.html.erb" } + assert_no_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 @@ -97,9 +101,13 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase # 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 new file mode 100644 index 0000000000..aaeb686daa --- /dev/null +++ b/railties/test/generators/stylesheets_generator_test.rb @@ -0,0 +1,17 @@ +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 |