diff options
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG | 4 | ||||
-rwxr-xr-x | actionpack/lib/action_controller/base.rb | 14 |
2 files changed, 6 insertions, 12 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index f9f3fe2cd1..696f2c8811 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,3 +1,7 @@ +*SVN* + +* Clean up some cruft around ActionController::Base#head. Closes #10417 [ssoroka] + *2.0.1* (December 7th, 2007) * Fixed send_file/binary_content for testing #8044 [tolsen] diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 0b467223ec..7cd7ebcfbb 100755 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -943,19 +943,9 @@ module ActionController #:nodoc: raise ArgumentError, "too many arguments to head" elsif args.empty? raise ArgumentError, "too few arguments to head" - elsif args.length == 2 - status = args.shift - options = args.shift - elsif args.first.is_a?(Hash) - options = args.first - else - status = args.first - options = {} end - - raise ArgumentError, "head requires an options hash" if !options.is_a?(Hash) - - status = interpret_status(status || options.delete(:status) || :ok) + options = args.extract_options! + status = interpret_status(args.shift || options.delete(:status) || :ok) options.each do |key, value| headers[key.to_s.dasherize.split(/-/).map { |v| v.capitalize }.join("-")] = value.to_s |