diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2010-04-08 10:25:13 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2010-04-08 10:25:13 -0700 |
commit | ab5aa55cb86424286f65b273105a3602bbd77258 (patch) | |
tree | 1238e882b8989795329ce201779b15776d06daf4 /actionpack/lib | |
parent | 3957d44fd10c683518562f22d8b73f1b1c3d455d (diff) | |
parent | 2c27e3d336df0600581c01b794d90cd09efd6b09 (diff) | |
download | rails-ab5aa55cb86424286f65b273105a3602bbd77258.tar.gz rails-ab5aa55cb86424286f65b273105a3602bbd77258.tar.bz2 rails-ab5aa55cb86424286f65b273105a3602bbd77258.zip |
Merge branch 'master' of github.com:rails/rails
Diffstat (limited to 'actionpack/lib')
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. |