diff options
Diffstat (limited to 'railties')
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 |