aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG3
-rw-r--r--railties/guides/source/initialization.textile2
-rw-r--r--railties/guides/source/routing.textile4
-rw-r--r--[-rwxr-xr-x]railties/lib/rails/cli.rb (renamed from railties/bin/rails)0
-rw-r--r--railties/lib/rails/commands/runner.rb2
-rw-r--r--railties/lib/rails/engine.rb2
-rw-r--r--railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb17
-rw-r--r--railties/lib/rails/generators/rails/app/app_generator.rb2
-rw-r--r--railties/lib/rails/generators/rails/app/templates/Gemfile2
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/boot.rb21
-rw-r--r--railties/lib/rails/generators/rails/model/USAGE15
-rw-r--r--railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css6
-rw-r--r--railties/lib/rails/test_unit/testing.rake2
-rw-r--r--railties/railties.gemspec3
-rw-r--r--railties/test/application/configuration_test.rb36
-rw-r--r--railties/test/generators/model_generator_test.rb8
-rw-r--r--railties/test/isolation/abstract_unit.rb2
-rw-r--r--railties/test/railties/shared_tests.rb2
18 files changed, 93 insertions, 36 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 82684e4614..a326e29d27 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,5 +1,8 @@
+*Rails 3.0.0 [beta 3] (April 13th, 2010)*
+
* 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]
diff --git a/railties/guides/source/initialization.textile b/railties/guides/source/initialization.textile
index fea0185c4c..7df4f8f719 100644
--- a/railties/guides/source/initialization.textile
+++ b/railties/guides/source/initialization.textile
@@ -2642,7 +2642,7 @@ The method +find_with_root_flag+ is defined on +Rails::Engine+ (the superclass o
root = File.exist?("#{root_path}/#{flag}") ? root_path : default
raise "Could not find root path for #{self}" unless root
- RUBY_PLATFORM =~ /(:?mswin|mingw)/ ?
+ RUBY_PLATFORM =~ /mswin|mingw/ ?
Pathname.new(root).expand_path : Pathname.new(root).realpath
end
</ruby>
diff --git a/railties/guides/source/routing.textile b/railties/guides/source/routing.textile
index 32b1e30502..7ac5bc8d3a 100644
--- a/railties/guides/source/routing.textile
+++ b/railties/guides/source/routing.textile
@@ -609,10 +609,10 @@ resources :photos, :path_names => { :new => 'make', :edit => 'change' }
This would cause the routing to recognize URLs such as
-<pre>
+<plain>
/photos/make
/photos/1/change
-</pre>
+</plain>
NOTE: The actual action names aren't changed by this option. The two URLs shown would still route to the new and edit actions.
diff --git a/railties/bin/rails b/railties/lib/rails/cli.rb
index 173f122445..173f122445 100755..100644
--- a/railties/bin/rails
+++ b/railties/lib/rails/cli.rb
diff --git a/railties/lib/rails/commands/runner.rb b/railties/lib/rails/commands/runner.rb
index 1570b9ab0d..5634ee0f69 100644
--- a/railties/lib/rails/commands/runner.rb
+++ b/railties/lib/rails/commands/runner.rb
@@ -18,7 +18,7 @@ ARGV.clone.options do |opts|
opts.on("-h", "--help",
"Show this help message.") { $stderr.puts opts; exit }
- if RUBY_PLATFORM !~ /mswin/
+ if RUBY_PLATFORM !~ /mswin|mingw/
opts.separator ""
opts.separator "You can also use runner as a shebang line for your scripts like this:"
opts.separator "-------------------------------------------------------------"
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb
index c284840a38..0f33b40a13 100644
--- a/railties/lib/rails/engine.rb
+++ b/railties/lib/rails/engine.rb
@@ -119,7 +119,7 @@ module Rails
root = File.exist?("#{root_path}/#{flag}") ? root_path : default
raise "Could not find root path for #{self}" unless root
- RUBY_PLATFORM =~ /(:?mswin|mingw)/ ?
+ RUBY_PLATFORM =~ /mswin|mingw/ ?
Pathname.new(root).expand_path : Pathname.new(root).realpath
end
end
diff --git a/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb b/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb
index 0615a34a85..9b83207b3f 100644
--- a/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb
+++ b/railties/lib/rails/generators/erb/scaffold/templates/_form.html.erb
@@ -1,13 +1,14 @@
<%%= form_for(@<%= singular_name %>) do |f| %>
<%% if @<%= singular_name %>.errors.any? %>
- <div id="errorExplanation">
- <h2><%%= pluralize(@<%= singular_name %>.errors.count, "error") %> prohibited this <%= singular_name %> from being saved:</h2>
- <ul>
- <%% @<%= singular_name %>.errors.full_messages.each do |msg| %>
- <li><%%= msg %></li>
- <%% end %>
- </ul>
- </div>
+ <div id="error_explanation">
+ <h2><%%= pluralize(@<%= singular_name %>.errors.count, "error") %> prohibited this <%= singular_name %> from being saved:</h2>
+
+ <ul>
+ <%% @<%= singular_name %>.errors.full_messages.each do |msg| %>
+ <li><%%= msg %></li>
+ <%% end %>
+ </ul>
+ </div>
<%% end %>
<% for attribute in attributes -%>
diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb
index bb2a080286..6818fafbe9 100644
--- a/railties/lib/rails/generators/rails/app/app_generator.rb
+++ b/railties/lib/rails/generators/rails/app/app_generator.rb
@@ -265,7 +265,7 @@ module Rails::Generators
"/opt/local/var/run/mysql4/mysqld.sock", # mac + darwinports + mysql4
"/opt/local/var/run/mysql5/mysqld.sock", # mac + darwinports + mysql5
"/opt/lampp/var/mysql/mysql.sock" # xampp for linux
- ].find { |f| File.exist?(f) } unless RUBY_PLATFORM =~ /(:?mswin|mingw)/
+ ].find { |f| File.exist?(f) } unless RUBY_PLATFORM =~ /mswin|mingw/
end
def empty_directory_with_gitkeep(destination, config = {})
diff --git a/railties/lib/rails/generators/rails/app/templates/Gemfile b/railties/lib/rails/generators/rails/app/templates/Gemfile
index 0dd10f3f2d..f751c4519d 100644
--- a/railties/lib/rails/generators/rails/app/templates/Gemfile
+++ b/railties/lib/rails/generators/rails/app/templates/Gemfile
@@ -2,8 +2,10 @@ source 'http://rubygems.org'
<%- if options.dev? -%>
gem 'rails', :path => '<%= Rails::Generators::RAILS_DEV_PATH %>'
+gem 'arel', :git => 'git://github.com/rails/arel.git'
<%- elsif options.edge? -%>
gem 'rails', :git => 'git://github.com/rails/rails.git'
+gem 'arel', :git => 'git://github.com/rails/arel.git'
<%- else -%>
gem 'rails', '<%= Rails::VERSION::STRING %>'
diff --git a/railties/lib/rails/generators/rails/app/templates/config/boot.rb b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
index 3971a07012..62a8ccc273 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/boot.rb
+++ b/railties/lib/rails/generators/rails/app/templates/config/boot.rb
@@ -1,14 +1,9 @@
-# Use locked gems if present.
-begin
- require File.expand_path('../../.bundle/environment', __FILE__)
+require 'rubygems'
-rescue LoadError
- # Otherwise, use RubyGems.
- require 'rubygems'
-
- # And set up the gems listed in the Gemfile.
- if File.exist?(File.expand_path('../../Gemfile', __FILE__))
- require 'bundler'
- Bundler.setup
- end
-end
+# Set up gems listed in the Gemfile.
+gemfile = File.expand_path('../../Gemfile', __FILE__)
+if File.exist?(gemfile)
+ ENV['BUNDLE_GEMFILE'] = gemfile
+ require 'bundler'
+ Bundler.setup
+end \ No newline at end of file
diff --git a/railties/lib/rails/generators/rails/model/USAGE b/railties/lib/rails/generators/rails/model/USAGE
index d97e9ac103..db98a2dd1b 100644
--- a/railties/lib/rails/generators/rails/model/USAGE
+++ b/railties/lib/rails/generators/rails/model/USAGE
@@ -15,6 +15,10 @@ Description:
Finally, if --parent option is given, it's used as superclass of the
created model. This allows you create Single Table Inheritance models.
+ If you pass a namespaced model name (e.g. admin/account or Admin::Account)
+ then the generator will create a module with a table_name_prefix method
+ to prefix the model's table name with the module name (e.g. admin_account)
+
Examples:
`rails generate model account`
@@ -28,3 +32,14 @@ Examples:
`rails generate model post title:string body:text published:boolean`
Creates a Post model with a string title, text body, and published flag.
+
+ `rails generate model admin/account`
+
+ For ActiveRecord and TestUnit it creates:
+
+ Module: app/models/admin.rb
+ Model: app/models/admin/account.rb
+ Test: test/unit/admin/account_test.rb
+ Fixtures: test/fixtures/admin_accounts.yml
+ Migration: db/migrate/XXX_add_admin_accounts.rb
+
diff --git a/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css b/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css
index f3f46d8b98..9f2056a702 100644
--- a/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css
+++ b/railties/lib/rails/generators/rails/stylesheets/templates/scaffold.css
@@ -34,7 +34,7 @@ div.field, div.actions {
display: table;
}
-#errorExplanation {
+#error_explanation {
width: 450px;
border: 2px solid red;
padding: 7px;
@@ -43,7 +43,7 @@ div.field, div.actions {
background-color: #f0f0f0;
}
-#errorExplanation h2 {
+#error_explanation h2 {
text-align: left;
font-weight: bold;
padding: 5px 5px 5px 15px;
@@ -54,7 +54,7 @@ div.field, div.actions {
color: #fff;
}
-#errorExplanation ul li {
+#error_explanation ul li {
font-size: 12px;
list-style: square;
}
diff --git a/railties/lib/rails/test_unit/testing.rake b/railties/lib/rails/test_unit/testing.rake
index 23b8f92abd..83f25506cb 100644
--- a/railties/lib/rails/test_unit/testing.rake
+++ b/railties/lib/rails/test_unit/testing.rake
@@ -30,7 +30,7 @@ end
module Kernel
def silence_stderr
old_stderr = STDERR.dup
- STDERR.reopen(RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'NUL:' : '/dev/null')
+ STDERR.reopen(RUBY_PLATFORM =~ /mswin|mingw/ ? 'NUL:' : '/dev/null')
STDERR.sync = true
yield
ensure
diff --git a/railties/railties.gemspec b/railties/railties.gemspec
index aea07efe96..b9278c0399 100644
--- a/railties/railties.gemspec
+++ b/railties/railties.gemspec
@@ -15,9 +15,6 @@ Gem::Specification.new do |s|
s.files = Dir['CHANGELOG', 'README', 'bin/**/*', 'guides/**/*', 'lib/**/{*,.[a-z]*}']
s.require_path = 'lib'
- s.bindir = 'bin'
- s.executables = ['rails']
- s.default_executable = 'rails'
s.rdoc_options << '--exclude' << '.'
s.has_rdoc = false
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index 8bf0f09d6b..0f3bc1a46a 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -285,5 +285,41 @@ module ApplicationTests
get "/"
assert last_response.body =~ /csrf\-param/
end
+
+ test "config.action_controller.perform_caching = true" do
+ make_basic_app do |app|
+ app.config.action_controller.perform_caching = true
+ end
+
+ class ::OmgController < ActionController::Base
+ caches_action :index
+ def index
+ render :text => rand(1000)
+ end
+ end
+
+ get "/"
+ res = last_response.body
+ get "/"
+ assert_equal res, last_response.body # value should be unchanged
+ end
+
+ test "config.action_controller.perform_caching = false" do
+ make_basic_app do |app|
+ app.config.action_controller.perform_caching = false
+ end
+
+ class ::OmgController < ActionController::Base
+ caches_action :index
+ def index
+ render :text => rand(1000)
+ end
+ end
+
+ get "/"
+ res = last_response.body
+ get "/"
+ assert_not_equal res, last_response.body
+ end
end
end
diff --git a/railties/test/generators/model_generator_test.rb b/railties/test/generators/model_generator_test.rb
index f5cfd8eeca..ef415a4fed 100644
--- a/railties/test/generators/model_generator_test.rb
+++ b/railties/test/generators/model_generator_test.rb
@@ -27,6 +27,14 @@ class ModelGeneratorTest < Rails::Generators::TestCase
assert_file "app/models/account.rb", /class Account < Admin::Account/
end
+ def test_model_with_namespace
+ run_generator ["admin/account"]
+ assert_file "app/models/admin.rb", /module Admin/
+ assert_file "app/models/admin.rb", /def self\.table_name_prefix/
+ assert_file "app/models/admin.rb", /'admin_'/
+ assert_file "app/models/admin/account.rb", /class Admin::Account < ActiveRecord::Base/
+ end
+
def test_migration
run_generator
assert_migration "db/migrate/create_accounts.rb", /class CreateAccounts < ActiveRecord::Migration/
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb
index e6896a1629..f0c64b92ba 100644
--- a/railties/test/isolation/abstract_unit.rb
+++ b/railties/test/isolation/abstract_unit.rb
@@ -213,7 +213,7 @@ Module.new do
require_environment = "-r #{environment}"
end
- `#{Gem.ruby} #{require_environment} #{RAILS_FRAMEWORK_ROOT}/railties/bin/rails #{tmp_path('app_template')}`
+ `#{Gem.ruby} #{require_environment} #{RAILS_FRAMEWORK_ROOT}/bin/rails #{tmp_path('app_template')}`
File.open("#{tmp_path}/app_template/config/boot.rb", 'w') do |f|
if require_environment
f.puts "Dir.chdir('#{File.dirname(environment)}') do"
diff --git a/railties/test/railties/shared_tests.rb b/railties/test/railties/shared_tests.rb
index 83d25be5db..20328d402d 100644
--- a/railties/test/railties/shared_tests.rb
+++ b/railties/test/railties/shared_tests.rb
@@ -264,7 +264,7 @@ YAML
Rails.application.routes.draw do
namespace :admin do
namespace :foo do
- match "bar", :to => "admin/foo/bar#index"
+ match "bar", :to => "bar#index"
end
end
end