aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2010-04-06 15:38:05 -0700
committerXavier Noria <fxn@hashref.com>2010-04-06 15:38:05 -0700
commit4c4fd1a60ff1c060e76e9ee540074756510f53ea (patch)
tree77da1c66c127e36c8b00825b676d9267a9ef4cd6 /railties
parent03cb74b9461293b96ae0add8ff5efda132dabba0 (diff)
parentaf130575249571464ec984efa84fcea1267e8cf8 (diff)
downloadrails-4c4fd1a60ff1c060e76e9ee540074756510f53ea.tar.gz
rails-4c4fd1a60ff1c060e76e9ee540074756510f53ea.tar.bz2
rails-4c4fd1a60ff1c060e76e9ee540074756510f53ea.zip
Merge commit 'rails/master'
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG7
-rw-r--r--railties/lib/rails/application.rb11
-rw-r--r--railties/lib/rails/application/configuration.rb5
-rw-r--r--railties/lib/rails/application/finisher.rb4
-rw-r--r--railties/lib/rails/backtrace_cleaner.rb2
-rw-r--r--railties/lib/rails/configuration.rb12
-rw-r--r--railties/lib/rails/engine.rb16
-rw-r--r--railties/lib/rails/engine/configuration.rb3
-rw-r--r--railties/lib/rails/generators.rb9
-rw-r--r--railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb7
-rw-r--r--railties/lib/rails/generators/erb/scaffold/templates/layout.html.erb17
-rw-r--r--railties/lib/rails/generators/rails/app/app_generator.rb2
-rw-r--r--railties/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb1
-rw-r--r--railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory0
-rw-r--r--railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb17
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/initializers/secret_token.rb.tt (renamed from railties/lib/rails/generators/rails/app/templates/config/initializers/cookie_verification_secret.rb.tt)2
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt4
-rw-r--r--railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory0
-rw-r--r--railties/lib/rails/generators/rails/app/templates/public/stylesheets/application.css (renamed from railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css)0
-rw-r--r--railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb1
-rw-r--r--railties/lib/rails/generators/rails/stylesheets/USAGE5
-rw-r--r--railties/lib/rails/generators/rails/stylesheets/stylesheets_generator.rb9
-rw-r--r--railties/lib/rails/paths.rb22
-rw-r--r--railties/lib/rails/plugin.rb2
-rw-r--r--railties/lib/rails/railtie.rb28
-rw-r--r--railties/test/application/configuration_test.rb16
-rw-r--r--railties/test/application/middleware_stack_defaults_test.rb2
-rw-r--r--railties/test/application/paths_test.rb1
-rw-r--r--railties/test/application/url_generation_test.rb2
-rw-r--r--railties/test/generators/app_generator_test.rb7
-rw-r--r--railties/test/generators/scaffold_controller_generator_test.rb1
-rw-r--r--railties/test/generators/scaffold_generator_test.rb8
-rw-r--r--railties/test/generators/stylesheets_generator_test.rb17
-rw-r--r--railties/test/isolation/abstract_unit.rb2
34 files changed, 111 insertions, 131 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 24ba378efe..261333628d 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,3 +1,7 @@
+* 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)*
* Session store configuration has changed [YK & CL]
@@ -6,12 +10,11 @@
config.cookie_secret = "fdsfhisdghfidugnfdlg"
* railtie_name and engine_name are deprecated. You can now add any object to
- the configuration object: config.your_plugin = {} [JK]
+ the configuration object: config.your_plugin = {} [JV]
* Added config.generators.templates to provide alternative paths for the generators
to look for templates [JV]
-
*Rails 3.0.0 [beta 1] (February 4, 2010)*
* Added "rake about" as a replacement for script/about [DHH]
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index 0084309ea4..38a5aa8ca3 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -1,3 +1,4 @@
+require 'active_support/core_ext/hash/reverse_merge'
require 'fileutils'
require 'rails/plugin'
require 'rails/engine'
@@ -128,8 +129,14 @@ module Rails
end
def call(env)
- env["action_dispatch.parameter_filter"] = config.filter_parameters
- app.call(env)
+ app.call(env.reverse_merge!(env_defaults))
+ end
+
+ def env_defaults
+ @env_defaults ||= {
+ "action_dispatch.parameter_filter" => config.filter_parameters,
+ "action_dispatch.secret_token" => config.secret_token
+ }
end
def initializers
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb
index 5c7de616be..d3e4742e8a 100644
--- a/railties/lib/rails/application/configuration.rb
+++ b/railties/lib/rails/application/configuration.rb
@@ -6,7 +6,7 @@ module Rails
include ::Rails::Configuration::Deprecated
attr_accessor :allow_concurrency, :cache_classes, :cache_store,
- :cookie_secret, :consider_all_requests_local, :dependency_loading,
+ :secret_token, :consider_all_requests_local, :dependency_loading,
:filter_parameters, :log_level, :logger, :metals,
:plugins, :preload_frameworks, :reload_engines, :reload_plugins,
:serve_static_assets, :time_zone, :whiny_nils
@@ -37,6 +37,7 @@ module Rails
paths.app.controllers << builtin_controller if builtin_controller
paths.config.database "config/database.yml"
paths.config.environment "config/environments", :glob => "#{Rails.env}.rb"
+ paths.lib.templates "lib/templates"
paths.log "log/#{Rails.env}.log"
paths.tmp "tmp"
paths.tmp.cache "tmp/cache"
@@ -123,7 +124,7 @@ module Rails
def session_options
return @session_options unless @session_store == :cookie_store
- @session_options.merge(:secret => @cookie_secret)
+ @session_options.merge(:secret => @secret_token)
end
def default_middleware_stack
diff --git a/railties/lib/rails/application/finisher.rb b/railties/lib/rails/application/finisher.rb
index 978490f25f..94507bb387 100644
--- a/railties/lib/rails/application/finisher.rb
+++ b/railties/lib/rails/application/finisher.rb
@@ -3,6 +3,10 @@ module Rails
module Finisher
include Initializable
+ initializer :add_generator_templates do
+ config.generators.templates.unshift(*paths.lib.templates.to_a)
+ end
+
initializer :ensure_load_once_paths_as_subset do
extra = ActiveSupport::Dependencies.load_once_paths -
ActiveSupport::Dependencies.load_paths
diff --git a/railties/lib/rails/backtrace_cleaner.rb b/railties/lib/rails/backtrace_cleaner.rb
index 14eccd5a6a..ee2635d4cd 100644
--- a/railties/lib/rails/backtrace_cleaner.rb
+++ b/railties/lib/rails/backtrace_cleaner.rb
@@ -13,7 +13,7 @@ module Rails
add_gem_filters
- add_silencer { |line| !APP_DIRS.any? { |dir| line =~ /^#{dir}/ } }
+ add_silencer { |line| !APP_DIRS.any? { |dir| line =~ /^\/?#{dir}/ } }
end
private
diff --git a/railties/lib/rails/configuration.rb b/railties/lib/rails/configuration.rb
index 73ae9bcb16..dfd849b4bb 100644
--- a/railties/lib/rails/configuration.rb
+++ b/railties/lib/rails/configuration.rb
@@ -104,6 +104,18 @@ module Rails
"please do paths.app.controllers instead", caller
paths.app.controllers.to_a.uniq
end
+
+ def cookie_secret=(value)
+ ActiveSupport::Deprecation.warn "config.cookie_secret= is deprecated, " <<
+ "please use config.secret_token= instead", caller
+ self.secret_token = value
+ end
+
+ def cookie_secret
+ ActiveSupport::Deprecation.warn "config.cookie_secret is deprecated, " <<
+ "please use config.secret_token instead", caller
+ self.secret_token
+ end
end
end
end
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb
index e9013348b5..c284840a38 100644
--- a/railties/lib/rails/engine.rb
+++ b/railties/lib/rails/engine.rb
@@ -20,7 +20,6 @@ module Rails
# # lib/my_engine.rb
# module MyEngine
# class Engine < Rails::Engine
- # engine_name :my_engine
# end
# end
#
@@ -38,11 +37,12 @@ module Rails
# Example:
#
# class MyEngine < Rails::Engine
- # # config.middleware is shared configururation
- # config.middleware.use MyEngine::Middleware
- #
# # Add a load path for this specific Engine
# config.load_paths << File.expand_path("../lib/some/path", __FILE__)
+ #
+ # initializer "my_engine.add_middleware" do |app|
+ # app.middlewares.use MyEngine::Middleware
+ # end
# end
#
# == Paths
@@ -193,17 +193,13 @@ module Rails
app.metal_loader.paths.unshift(*paths.app.metals.to_a)
end
- initializer :add_generator_templates do |app|
- config.generators.templates.unshift(*paths.lib.templates.to_a)
- end
-
- initializer :load_application_initializers do
+ initializer :load_config_initializers do
paths.config.initializers.to_a.sort.each do |initializer|
load(initializer)
end
end
- initializer :load_application_classes do |app|
+ initializer :load_app_classes do |app|
next if $rails_rake_task
if app.config.cache_classes
diff --git a/railties/lib/rails/engine/configuration.rb b/railties/lib/rails/engine/configuration.rb
index b8f1f1009c..28e7ef947d 100644
--- a/railties/lib/rails/engine/configuration.rb
+++ b/railties/lib/rails/engine/configuration.rb
@@ -20,10 +20,9 @@ module Rails
paths.app.models "app/models", :eager_load => true
paths.app.mailers "app/mailers", :eager_load => true
paths.app.metals "app/metal", :eager_load => true
- paths.app.views "app/views", :eager_load => true
+ paths.app.views "app/views"
paths.lib "lib", :load_path => true
paths.lib.tasks "lib/tasks", :glob => "**/*.rake"
- paths.lib.templates "lib/templates"
paths.config "config"
paths.config.initializers "config/initializers", :glob => "**/*.rb"
paths.config.locales "config/locales", :glob => "*.{rb,yml}"
diff --git a/railties/lib/rails/generators.rb b/railties/lib/rails/generators.rb
index 57462707f4..5f93dbf18f 100644
--- a/railties/lib/rails/generators.rb
+++ b/railties/lib/rails/generators.rb
@@ -3,7 +3,7 @@ $:.unshift(activesupport_path) if File.directory?(activesupport_path) && !$:.inc
require 'active_support'
require 'active_support/core_ext/object/blank'
-require 'active_support/core_ext/object/singleton_class'
+require 'active_support/core_ext/kernel/singleton_class'
require 'active_support/core_ext/array/extract_options'
require 'active_support/core_ext/hash/deep_merge'
require 'active_support/core_ext/module/attribute_accessors'
@@ -26,7 +26,6 @@ module Rails
:orm => '-o',
:resource_controller => '-c',
:scaffold_controller => '-c',
- :stylesheets => '-y',
:template_engine => '-e',
:test_framework => '-t'
},
@@ -42,21 +41,15 @@ module Rails
}
DEFAULT_OPTIONS = {
- :erb => {
- :layout => true
- },
-
:rails => {
:force_plural => false,
:helper => true,
- :layout => true,
:orm => nil,
:integration_tool => nil,
:performance_tool => nil,
: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..2db7f7bbf3 100644
--- a/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb
+++ b/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb
@@ -8,7 +8,6 @@ module Erb
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
- class_option :layout, :type => :boolean
class_option :singleton, :type => :boolean, :desc => "Supply to skip index view"
def create_root_folder
@@ -25,12 +24,6 @@ module Erb
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 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title><%= controller_class_name %>: <%%= controller.action_name %></title>
- <%%= stylesheet_link_tag 'scaffold' %>
- <%%= javascript_include_tag :defaults %>
- <%%= csrf_meta_tag %>
-</head>
-<body>
-
-<p class="notice"><%%= notice %></p>
-<p class="alert"><%%= alert %></p>
-
-<%%= yield %>
-
-</body>
-</html>
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 @@ module Rails::Generators
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
--- a/railties/lib/rails/generators/rails/app/templates/app/views/layouts/.empty_directory
+++ /dev/null
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..6b87d9d3ec
--- /dev/null
+++ b/railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title><%= controller_name.humanize %>: <%= action_name %></title>
+ <%= stylesheet_link_tag 'application' %>
+ <%= javascript_include_tag :defaults %>
+ <%= csrf_meta_tag %>
+</head>
+<body>
+
+<p class="notice"><%= notice %></p>
+<p class="alert"><%= alert %></p>
+
+<%=raw yield %>
+
+</body>
+</html>
diff --git a/railties/lib/rails/generators/rails/app/templates/config/initializers/cookie_verification_secret.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/initializers/secret_token.rb.tt
index be627fbbcc..c2fa31aadb 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/initializers/cookie_verification_secret.rb.tt
+++ b/railties/lib/rails/generators/rails/app/templates/config/initializers/secret_token.rb.tt
@@ -4,4 +4,4 @@
# If you change this key, all old signed cookies will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
-Rails.application.config.cookie_secret = '<%= app_secret %>'
+Rails.application.config.secret_token = '<%= app_secret %>'
diff --git a/railties/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt
index 9e32fb930e..a869a21e2c 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt
+++ b/railties/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt
@@ -1,8 +1,6 @@
# Be sure to restart your server when you modify this file.
-Rails.application.config.session_store :cookie_store, {
- :key => '_<%= app_name %>_session',
-}
+Rails.application.config.session_store :cookie_store, :key => '_<%= app_name %>_session'
# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
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
--- a/railties/lib/rails/generators/rails/app/templates/public/stylesheets/.empty_directory
+++ /dev/null
diff --git a/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css b/railties/lib/rails/generators/rails/app/templates/public/stylesheets/application.css
index ea3dc9b8b5..ea3dc9b8b5 100644
--- a/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css
+++ b/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 @@ 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
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/lib/rails/paths.rb b/railties/lib/rails/paths.rb
index 55874813da..1c9e308631 100644
--- a/railties/lib/rails/paths.rb
+++ b/railties/lib/rails/paths.rb
@@ -3,6 +3,8 @@ require 'set'
module Rails
module Paths
module PathParent
+ attr_reader :children
+
def method_missing(id, *args)
name = id.to_s
@@ -37,15 +39,15 @@ module Rails
end
def load_once
- filter { |path| path.paths if path.load_once? }
+ filter_by(:load_once?)
end
def eager_load
- filter { |path| path.paths if path.eager_load? }
+ filter_by(:eager_load?)
end
def load_paths
- filter { |path| path.paths if path.load_path? }
+ filter_by(:load_path?)
end
def push(*)
@@ -58,8 +60,16 @@ module Rails
protected
- def filter(&block)
- all_paths.map(&block).compact.flatten.uniq.select { |p| File.exists?(p) }
+ def filter_by(constraint)
+ all_paths.map do |path|
+ if path.send(constraint)
+ paths = path.paths
+ paths -= path.children.values.map { |p| p.send(constraint) ? [] : p.paths }.flatten
+ paths
+ else
+ []
+ end
+ end.flatten.uniq.select { |p| File.exists?(p) }
end
end
@@ -129,10 +139,12 @@ module Rails
def paths
raise "You need to set a path root" unless @root.path
+
result = @paths.map do |p|
path = File.expand_path(p, @root.path)
@glob ? Dir[File.join(path, @glob)] : path
end
+
result.flatten!
result.uniq!
result
diff --git a/railties/lib/rails/plugin.rb b/railties/lib/rails/plugin.rb
index 0997be1b6f..fcdd099135 100644
--- a/railties/lib/rails/plugin.rb
+++ b/railties/lib/rails/plugin.rb
@@ -61,7 +61,7 @@ module Rails
@config ||= Engine::Configuration.new
end
- initializer :load_init_rb, :before => :load_application_initializers do |app|
+ initializer :load_init_rb, :before => :load_config_initializers do |app|
files = %w(rails/init.rb init.rb).map { |path| File.expand_path path, root }
if initrb = files.find { |path| File.file? path }
if initrb == files.first
diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb
index 0d68abb323..6ac6be092e 100644
--- a/railties/lib/rails/railtie.rb
+++ b/railties/lib/rails/railtie.rb
@@ -39,7 +39,6 @@ module Rails
# # lib/my_gem/railtie.rb
# module MyGem
# class Railtie < Rails::Railtie
- # railtie_name :mygem
# end
# end
#
@@ -51,24 +50,8 @@ module Rails
#
# module MyGem
# class Railtie < Rails::Railtie
- # railtie_name :mygem
# end
# end
- #
- # * Make sure your Gem loads the railtie.rb file if Rails is loaded first, an easy
- # way to check is by checking for the Rails constant which will exist if Rails
- # has started:
- #
- # # lib/my_gem.rb
- # module MyGem
- # require 'lib/my_gem/railtie' if defined?(Rails)
- # end
- #
- # * Or instead of doing the require automatically, you can ask your users to require
- # it for you in their Gemfile:
- #
- # # #{USER_RAILS_ROOT}/Gemfile
- # gem "my_gem", :require_as => ["my_gem", "my_gem/railtie"]
#
# == Initializers
#
@@ -82,13 +65,11 @@ module Rails
# end
#
# If specified, the block can also receive the application object, in case you
- # need to access some application specific configuration:
+ # need to access some application specific configuration, like middleware:
#
# class MyRailtie < Rails::Railtie
# initializer "my_railtie.configure_rails_initialization" do |app|
- # if app.config.cache_classes
- # # some initialization behavior
- # end
+ # app.middlewares.use MyRailtie::Middleware
# end
# end
#
@@ -104,9 +85,6 @@ module Rails
# # Customize the ORM
# config.generators.orm :my_railtie_orm
#
- # # Add a middleware
- # config.middlewares.use MyRailtie::Middleware
- #
# # Add a to_prepare block which is executed once in production
# # and before which request in development
# config.to_prepare do
@@ -160,7 +138,7 @@ module Rails
# By registering it:
#
# class MyRailtie < Railtie
- # subscriber MyRailtie::Subscriber.new
+ # subscriber :my_gem, MyRailtie::Subscriber.new
# end
#
# Take a look in Rails::Subscriber docs for more information.
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index 68ca2acaad..90f2e2b370 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -234,6 +234,22 @@ module ApplicationTests
assert_equal File.expand_path(__FILE__), last_response.headers["X-Lighttpd-Send-File"]
end
+ test "config.secret_token is sent in env" do
+ make_basic_app do |app|
+ app.config.secret_token = 'ThisIsASECRET123'
+ end
+
+ class ::OmgController < ActionController::Base
+ def index
+ cookies.signed[:some_key] = "some_value"
+ render :text => env["action_dispatch.secret_token"]
+ end
+ end
+
+ get "/"
+ assert_equal 'ThisIsASECRET123', last_response.body
+ end
+
test "protect from forgery is the default in a new app" do
make_basic_app
diff --git a/railties/test/application/middleware_stack_defaults_test.rb b/railties/test/application/middleware_stack_defaults_test.rb
index 284f7e2e5b..f31ca01fbf 100644
--- a/railties/test/application/middleware_stack_defaults_test.rb
+++ b/railties/test/application/middleware_stack_defaults_test.rb
@@ -10,7 +10,7 @@ class MiddlewareStackDefaultsTest < Test::Unit::TestCase
Object.const_set(:MyApplication, Class.new(Rails::Application))
MyApplication.class_eval do
- config.cookie_secret = "3b7cd727ee24e8444053437c36cc66c4"
+ config.secret_token = "3b7cd727ee24e8444053437c36cc66c4"
config.session_store :cookie_store, :key => "_myapp_session"
end
end
diff --git a/railties/test/application/paths_test.rb b/railties/test/application/paths_test.rb
index 589e515d05..5ab558c026 100644
--- a/railties/test/application/paths_test.rb
+++ b/railties/test/application/paths_test.rb
@@ -71,6 +71,7 @@ module ApplicationTests
assert_in_load_path "lib"
assert_in_load_path "vendor"
+ assert_not_in_load_path "app", "views"
assert_not_in_load_path "app", "metal"
assert_not_in_load_path "config"
assert_not_in_load_path "config", "locales"
diff --git a/railties/test/application/url_generation_test.rb b/railties/test/application/url_generation_test.rb
index 04f5454e09..72cae23985 100644
--- a/railties/test/application/url_generation_test.rb
+++ b/railties/test/application/url_generation_test.rb
@@ -14,7 +14,7 @@ module ApplicationTests
require "action_controller/railtie"
class MyApp < Rails::Application
- config.cookie_secret = "3b7cd727ee24e8444053437c36cc66c4"
+ config.secret_token = "3b7cd727ee24e8444053437c36cc66c4"
config.session_store :cookie_store, :key => "_myapp_session"
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 @@ class AppGeneratorTest < Rails::Generators::TestCase
).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 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
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 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase
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 @@ 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
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
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb
index 8f2f15b49e..e6896a1629 100644
--- a/railties/test/isolation/abstract_unit.rb
+++ b/railties/test/isolation/abstract_unit.rb
@@ -100,7 +100,7 @@ module TestHelpers
end
end
- add_to_config 'config.cookie_secret = "3b7cd727ee24e8444053437c36cc66c4"; config.session_store :cookie_store, :key => "_myapp_session"'
+ add_to_config 'config.secret_token = "3b7cd727ee24e8444053437c36cc66c4"; config.session_store :cookie_store, :key => "_myapp_session"'
end
class Bukkit