Merge pull request #7825 from sikachu/master-rails-pathname

Make Rails.public_path return a Pathname
This commit is contained in:
Rafael Mendonça França 2012-10-02 18:59:22 -07:00
commit 6b802cdb4f
3 changed files with 12 additions and 2 deletions

View File

@ -1,5 +1,7 @@
## Rails 4.0.0 (unreleased) ##
* `Rails.public_path` now returns a Pathname object. *Prem Sichanugrist*
* Remove highly uncommon `config.assets.manifest` option for moving the manifest path.
This option is now unsupported in sprockets-rails.

View File

@ -127,7 +127,7 @@ module Rails
end
def public_path
application && application.paths["public"].first
application && Pathname.new(application.paths["public"].first)
end
end
end

View File

@ -139,6 +139,14 @@ module ApplicationTests
assert_instance_of Pathname, Rails.root
end
test "Rails.public_path should be a Pathname" do
add_to_config <<-RUBY
config.paths["public"] = "somewhere"
RUBY
require "#{app_path}/config/environment"
assert_instance_of Pathname, Rails.public_path
end
test "initialize an eager loaded, cache classes app" do
add_to_config <<-RUBY
config.eager_load = true
@ -227,7 +235,7 @@ module ApplicationTests
RUBY
require "#{app_path}/config/application"
assert_equal File.join(app_path, "somewhere"), Rails.public_path
assert_equal Pathname.new(app_path).join("somewhere"), Rails.public_path
end
test "config.secret_token is sent in env" do