aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2010-04-08 10:25:13 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2010-04-08 10:25:13 -0700
commitab5aa55cb86424286f65b273105a3602bbd77258 (patch)
tree1238e882b8989795329ce201779b15776d06daf4 /actionpack/lib
parent3957d44fd10c683518562f22d8b73f1b1c3d455d (diff)
parent2c27e3d336df0600581c01b794d90cd09efd6b09 (diff)
downloadrails-ab5aa55cb86424286f65b273105a3602bbd77258.tar.gz
rails-ab5aa55cb86424286f65b273105a3602bbd77258.tar.bz2
rails-ab5aa55cb86424286f65b273105a3602bbd77258.zip
Merge branch 'master' of github.com:rails/rails
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/caching/pages.rb4
-rw-r--r--actionpack/lib/action_controller/metal/compatibility.rb2
-rw-r--r--actionpack/lib/action_controller/railtie.rb6
-rw-r--r--actionpack/lib/action_view/helpers/asset_tag_helper.rb44
4 files changed, 52 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/caching/pages.rb b/actionpack/lib/action_controller/caching/pages.rb
index fe95f0e0d7..2a0a1107eb 100644
--- a/actionpack/lib/action_controller/caching/pages.rb
+++ b/actionpack/lib/action_controller/caching/pages.rb
@@ -38,22 +38,22 @@ module ActionController #:nodoc:
extend ActiveSupport::Concern
included do
- @@page_cache_directory = defined?(Rails.public_path) ? Rails.public_path : ""
##
# :singleton-method:
# The cache directory should be the document root for the web server and is set using <tt>Base.page_cache_directory = "/document/root"</tt>.
# For Rails, this directory has already been set to Rails.public_path (which is usually set to <tt>RAILS_ROOT + "/public"</tt>). Changing
# this setting can be useful to avoid naming conflicts with files in <tt>public/</tt>, but doing so will likely require configuring your
# web server to look in the new location for cached files.
+ @@page_cache_directory = ''
cattr_accessor :page_cache_directory
- @@page_cache_extension = '.html'
##
# :singleton-method:
# Most Rails requests do not have an extension, such as <tt>/weblog/new</tt>. In these cases, the page caching mechanism will add one in
# order to make it easy for the cached files to be picked up properly by the web server. By default, this cache extension is <tt>.html</tt>.
# If you want something else, like <tt>.php</tt> or <tt>.shtml</tt>, just set Base.page_cache_extension. In cases where a request already has an
# extension, such as <tt>.xml</tt> or <tt>.rss</tt>, page caching will not add an extension. This allows it to work well with RESTful apps.
+ @@page_cache_extension = '.html'
cattr_accessor :page_cache_extension
end
diff --git a/actionpack/lib/action_controller/metal/compatibility.rb b/actionpack/lib/action_controller/metal/compatibility.rb
index e6cea483bb..02722360f1 100644
--- a/actionpack/lib/action_controller/metal/compatibility.rb
+++ b/actionpack/lib/action_controller/metal/compatibility.rb
@@ -32,8 +32,6 @@ module ActionController
def rescue_action(env)
raise env["action_dispatch.rescue.exception"]
end
-
- self.page_cache_directory = defined?(Rails.public_path) ? Rails.public_path : ""
end
# For old tests
diff --git a/actionpack/lib/action_controller/railtie.rb b/actionpack/lib/action_controller/railtie.rb
index 030ba4ec48..b029434004 100644
--- a/actionpack/lib/action_controller/railtie.rb
+++ b/actionpack/lib/action_controller/railtie.rb
@@ -44,6 +44,12 @@ module ActionController
ActiveSupport.on_load(:action_controller) { self.logger ||= Rails.logger }
end
+ initializer "action_controller.page_cache_directory" do
+ ActiveSupport.on_load(:action_controller) do
+ self.page_cache_directory = Rails.public_path
+ end
+ end
+
initializer "action_controller.set_configs" do |app|
paths = app.config.paths
ac = app.config.action_controller
diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
index e4ec17467e..47abf1e41c 100644
--- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
@@ -501,6 +501,50 @@ module ActionView
end
end
+ # Returns a link tag for a favicon.
+ #
+ # <%= favicon_link_tag %>
+ #
+ # generates
+ #
+ # <link href="/favicon.ico?4649789979" rel="shortcut icon" type="image/vnd.microsoft.icon" />
+ #
+ # You can specify a different icon file in the first argument:
+ #
+ # <%= favicon_link_tag 'favicon.ico' %>
+ #
+ # That's passed to +image_path+ as is, so the example above would render
+ #
+ # <link href="/images/favicon.ico?4649789979" rel="shortcut icon" type="image/vnd.microsoft.icon" />
+ #
+ # The helper accepts an additional options hash where you can override "rel" and "type".
+ def favicon_link_tag(source='/favicon.ico', options={})
+ tag('link', {
+ :rel => 'shortcut icon',
+ :type => 'image/vnd.microsoft.icon',
+ :href => image_path(source)
+ }.merge(options.symbolize_keys))
+ end
+
+ # Returns a link tag for an icon targetted at iPod Touch, iPhone, and iPad.
+ #
+ # <%= apple_touch_icon_link_tag %>
+ #
+ # generates
+ #
+ # <link href="/apple-touch-icon.png?4233872383" rel="apple-touch-icon" />
+ #
+ # You can specify a different icon file:
+ #
+ # <%= apple_touch_icon_link_tag "my_site.png" %>
+ #
+ # That's passed to +image_path+ as is, so the example above would render
+ #
+ # <link href="/images/my_site.png?4233872383" rel="apple-touch-icon" />
+ def apple_touch_icon_link_tag(source='/apple-touch-icon.png')
+ tag('link', :rel => 'apple-touch-icon', :href => image_path(source))
+ end
+
# Computes the path to an image asset in the public images directory.
# Full paths from the document root will be passed through.
# Used internally by +image_tag+ to build the image path.