diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index 03621fab4f2a9ff814768b8bd9a95508c44a270a..1218e0737270251d07e99d083ef5513d2372977c 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -1,3 +1,7 @@ +* Remove deprecated `ActionDispatch::Response#to_ary`. + + *Rafael Mendonça França* + * Remove deprecated `ActionDispatch::Request#deep_munge`. *Rafael Mendonça França* diff --git a/actionpack/lib/action_dispatch/http/response.rb b/actionpack/lib/action_dispatch/http/response.rb index 33de2f8b5fc25b6c5fdd97dbc31d57a7d22a3a1b..2699aa7a70a53273e37e3115da5fe43dfd8959fa 100644 --- a/actionpack/lib/action_dispatch/http/response.rb +++ b/actionpack/lib/action_dispatch/http/response.rb @@ -1,6 +1,5 @@ require 'active_support/core_ext/module/attribute_accessors' require 'active_support/core_ext/string/filters' -require 'active_support/deprecation' require 'action_dispatch/http/filter_redirect' require 'monitor' @@ -284,20 +283,6 @@ def to_a end alias prepare! to_a - # Be super clear that a response object is not an Array. Defining this - # would make implicit splatting work, but it also makes adding responses - # as arrays work, and "flattening" responses, cascading to the rack body! - # Not sensible behavior. - def to_ary - ActiveSupport::Deprecation.warn(<<-MSG.squish) - `ActionDispatch::Response#to_ary` no longer performs implicit conversion - to an array. Please use `response.to_a` instead, or a splat like `status, - headers, body = *response`. - MSG - - to_a - end - # Returns the response cookies, converted to a Hash of (name => value) pairs # # assert_equal 'AuthorOfNewPage', r.cookies['author'] diff --git a/actionpack/test/dispatch/response_test.rb b/actionpack/test/dispatch/response_test.rb index 48342e252ab476ece4c75ee50f61e276972d1b8c..c61423dce41ddfd7cd62c5e3803aa11df5bd96e1 100644 --- a/actionpack/test/dispatch/response_test.rb +++ b/actionpack/test/dispatch/response_test.rb @@ -231,9 +231,9 @@ def test_response_body_encoding assert_equal ['Not Found'], body.each.to_a end - test "[response].flatten does not recurse infinitely" do + test "[response.to_a].flatten does not recurse infinitely" do Timeout.timeout(1) do # use a timeout to prevent it stalling indefinitely - status, headers, body = assert_deprecated { [@response].flatten } + status, headers, body = [@response.to_a].flatten assert_equal @response.status, status assert_equal @response.headers, headers assert_equal @response.body, body.each.to_a.join @@ -251,20 +251,6 @@ def test_response_body_encoding status, headers, body = Rack::ContentLength.new(app).call(env) assert_equal '5', headers['Content-Length'] end - - test "implicit destructuring and Array conversion is deprecated" do - response = ActionDispatch::Response.new(404, { 'Content-Type' => 'text/plain' }, ['Not Found']) - - assert_deprecated do - status, headers, body = response - - assert_equal 404, status - assert_equal({ 'Content-Type' => 'text/plain' }, headers) - assert_equal ['Not Found'], body.each.to_a - end - - assert_deprecated { response.to_ary } - end end class ResponseIntegrationTest < ActionDispatch::IntegrationTest