2015/08/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Removed duplicate require ‘models/computer’
ActiveRecordのテストの修正です。
重複してあったmodels/computer
のrequire処理を削除しています。
Merge pull request #21336 from yui-knk/refactor/to_use_getter
activerecord/lib/active_record/migration.rb
の修正です。
connectionオブジェクトを使用する際、インスタンス変数の@connection
を使用するのではなく、ラッパーメソッドであるconnection
メソッド経由でオブジェクトを取得するよう修正しています。
actionpack/lib/action_controller/metal.rb
の修正です。
to_a
メソッドから、不要なresponseオブジェクトがnilじゃないかどうかのチェック処理を削除しています。
provide a request and response to all controllersの対応により、必ずresponseオブジェクトを保持するようになり、チェックする必要はなくなった為、削除したようです。
actionpack/lib/action_controller/metal.rb
の修正です。
performed?
メソッドから、responseオブジェクトがnilかどうかのチェック処理を削除しています。理由は上のコミット同様。
ask the response for the status
actionpack/lib/action_controller/metal.rb
の修正です。
statusの値を取得する際、responseオブジェクト経由で値を取得するよう修正しています。
use the content_type method on the request object
actionpack/lib/action_controller/metal.rb
の修正です。
content_typeの値を取得する際、responseオブジェクト経由で値を取得するよう修正しています。
remove ivars from the "protected" list
actionpack/lib/action_controller/base.rb
の修正です。
インスタンス変数の一覧から、@_status
, @_headers
を削除しています。どちらも、responseオブジェクトから値を取るようになった為、変数として保持する必要がなくなった為。
actionpack/lib/action_controller/metal/head.rb
の修正です。
head
メソッドから、responseオブジェクトがnilかどうかのチェック処理を削除しています。
actionpack/lib/action_controller/metal/head.rb
の修正です。
head
メソッドから、不要なresponse.status
への値の設定処理を削除しています。
Controller#status=
はresponse objectにdelegateされるようになり、controllerでresponseオブジェクトに値を設定する必要はなくなった為、削除したとの事です。
headers
should delegate to the response object
actionpack/lib/action_controller/metal.rb
の修正です。
headers
を_response
にdelegateするよう修正しています。
include ActionView::Rendering in the minimal controller
actionpack/lib/action_controller/metal.rb
、
actionpack/test/controller/new_base/render_html_test.rb
の修正です。
テスト用のMinimalController
で、ActionView::Rendering
をincludeするよう修正しています。Rendering
が無いと、content typeが正しく設定されない為、との事です。
RackDelegation#response_body=
メソッドを削除しています。
responseオブジェクトへのbodyの設定を行うメソッドだったのですが、処理はsubclassで行う為、RackDelegation
moduleで行う必要は無い、との事で削除されたようです。
Action Packの修正です。
ActionController::RackDelegation
moduleを削除しています。
全てのcontrollerのインスタンスがrequest、及びresponseオブジェクトを必ず保持するようになり、rackにdelegateする必要性がなくなった為、削除したとの事です。
stop passing the options hash to _process_format
Action Pack / Action Viewの修正です。
Rendering
moduleの_process_format
メソッドに、options hashをまるまる渡していたのを、必要な値(plainかどうか)のみ渡すよう修正しています。
Pull plain
content type handling up to render
Action Pack / Action Viewの修正です。
Rendering
moduleの_process_format
メソッドで行っていた、renderメソッドにplainオプションが指定された場合の処理を、そもそも_process_format
メソッドではなく、呼び出し元のrender
メソッドで行うよう修正しています。
_process_format
メソッドから処理分岐を減らす為、との事です。
only call self.content_type= when there is a response
Action Packの修正です。
Rendering
moduleのcontent_type
の設定処理を、response
オブジェクトが存在するのみ行われるよう修正しています。
AbstractController
はrequest、及びresponseオブジェクトが存在しなくても動作するよう期待されているらしく、そのため、チェック処理を追加したようです。
actionpack/lib/abstract_controller/rendering.rb
の修正です。
render
メソッドから不要な_process_format
メソッドの呼び出し処理を削除しています。
_process_format
メソッドではrendered_format
の設定を行っているのですが、ActionView::Rendering
をmixinしているとき、lookup_context
メソッドの方で先にrendered_format
の設定をしているはずで、
そちらで設定した値を使用すれば良く、ここで再度設定する必要は無いため、削除したようです。
actionpack/lib/abstract_controller/rendering.rb
の修正です。
_normalize_render
メソッドから、responseオブジェクトがnilかどうかのチェック処理を削除しています。
actionpack/lib/action_dispatch/http/response.rb
の修正です。
Response#location
メソッドを削除しています。同じメソッドをRack::Response::Helpers
の方で実装しており、そちらを使用する為、削除したとの事です。
Merge pull request #21389 from Gaurav2728/gaurav-unused_require_file
各テストファイルで、不要なminitest/mock
のrequireを削除しています。
Merge pull request #21392 from y-yagi/rm_require_support_files
railties/lib/rails/generators/rails/plugin/templates/test/test_helper.rb
の修正です。
デフォルトで生成されるrails engine用のtest_helper.rb
で、使用していないsupport
ディレクトリ配下のファイルのrequire処理が行われていたのを削除しています。
actionpack/lib/action_controller/test_case.rb
の修正です。
ActionController::TestSession#fetch
メソッドの引数に、string以外の値を指定した場合に正しく動作しないバグがあったのを修正しています。
PRより。
class ApplicationController < ActionController::Base def user_strategy # At this point: # ```ruby # session == { # "user_strategy"=>"email", # "user_identifying_value"=>"hello@world.com" # } # ``` if session.key?(:user_strategy) session.fetch(:user_strategy) # => `KeyError` end end end
Fix test session fetch の対応でActionController::TestSession#fetch
メソッドを追加したのですが、
その際、受け取る引数のstringへの変換処理が足りてなかった為、エラーになるようになってしまったようです。Rails 4.2.4で発生したリグレッションです。
actionpack/CHANGELOG.md
の修正です。
先のActionController::TestSession#fetch
メソッドの対応についてのCHANGELOGについて、説明を修正しています。