1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Use merge! to merge additional options onto default options

This commit is contained in:
Carlos Antonio da Silva 2012-09-07 11:17:37 -03:00
parent dcc68fa443
commit a203530713

View file

@ -22,7 +22,7 @@ module ActionController
#
# class InvoicesController < ApplicationController
# etag { current_user.try :id }
#
#
# def show
# # Etag will differ even for the same invoice when it's viewed by a different current_user
# @invoice = Invoice.find(params[:id])
@ -71,7 +71,7 @@ module ActionController
options.assert_valid_keys(:etag, :last_modified, :public)
else
record = record_or_options
options = { etag: record, last_modified: record.try(:updated_at) }.merge(additional_options)
options = { etag: record, last_modified: record.try(:updated_at) }.merge!(additional_options)
end
response.etag = combine_etags(options[:etag]) if options[:etag]
@ -162,8 +162,7 @@ module ActionController
def expires_now #:doc:
response.cache_control.replace(:no_cache => true)
end
private
def combine_etags(etag)
[ etag, *etaggers.map { |etagger| instance_exec(&etagger) }.compact ]