2015/08/22分のコミットです。
CHANGELOGへの追加はありませんでした。
move header allocation to a helper method
actionpack/test/dispatch/header_test.rbの修正です。
ActionDispatch::Http::Headerクラスのインスタンス生成処理を、ヘルパーメソッドに移動しています。
pass a request object to the headers object
actionpack/lib/action_dispatch/http/headers.rbの修正です。
ActionDispatch::Http::Headerクラスのコンストラクタの引数を、env hashからActionDispatch::Requestクラスに変更しています。
envのデータを参照する際、hashを直接参照するのではなく、Request経由でアクセスするよう統一する為、ですかねえ、
actionpack/lib/action_dispatch/routing/route_set.rbの修正です。
Dispatcherクラスでcontroller class namesをキャッシュしていたのを、キャッシュしないよう修正しています。
ActiveSupport::Dependencies.constantize(const_name)メソッドを使用してクラス名を取得しているのですが、constantizeメソッドの方でもキャッシュ処理を行っている為、呼び出し側でのキャッシュ処理は不要な為、削除したとの事です。
Move the CoC text to the Rails website
CODE_OF_CONDUCT.md、
README.mdの修正です。
Code of Conduct をRaisl websiteに表示するようにしたので、その旨説明を修正しています。
Ruby on Rails: Code of Conductというページが新たに作られたようです。
JSON is still an adapter specific type. https://github.com/rails/rails/commit/ffc4710c2bff273b82ddb76675701f986d82ef4f
ActiveRecordの修正です。
Add a native JSON data type support in MySQLでActiveRecord::Type namespace配下に移動されたJSON処理用のクラスを、OID配下に戻しています。
ActiveRecord::Type namespace配下は全てのadaptersで対応されている型(ANSI SQL standardのもの)のみ登録可能とする方針にしており、JSONはSQLiteでは対応してない為、OID配下に戻したようです。
dup the request and mutate its headers object.
actionpack/lib/action_dispatch/http/headers.rbの修正です。
Headers#mergeメソッドで、headerのマージ処理を行う際、新しいHttp::Headersクラスのインスタンスを作成するのではなく、
既に保持しているrequestオブジェクトからheader情報を取得するよう修正しています。
use set_header rather than []=
actionpack/lib/action_dispatch/http/headers.rbの修正です。
Headers#merge!メソッドで、headerを設定するのに、[]=メソッドではなく、Request#set_headerメソッドを使用するよう修正しています。env_nameメソッドが2回呼ばれてしまうのを防ぐ為、との事です。
use accessors on the request object for manipulating env
actionpack/lib/action_dispatch/http/headers.rbの修正です。
envの値を操作する際に、env hashを直接操作するのではなく、requestオブジェクト経由で処理を行うよう修正しています。
dup the env hash on Header#env
actionpack/lib/action_dispatch/http/headers.rbの修正です。
Headers#envメソッドで、requestオブジェクトからenvを取得する際、dupを呼び出して、コピーを渡すよう修正しています。
envの値がそとから直接されてしまうのを防ぐために、コピーを渡すようにしたとの事です。
use methods on the request object to implement fetch
actionpack/lib/action_dispatch/http/headers.rbの修正です。
Headers#fetcメソッドを、env hashからではなく、requestオブジェクトから値を取得するよう再実装しています。
use public API to fetch the parameter filter
actionpack/lib/action_dispatch/http/filter_parameters.rbの修正です。
env hashから直接値を取得していた処理があったのを、get_headerメソッド経由で値を取得するよう修正しています。
stop directly accessing @env in mime_negotiation
actionpack/lib/action_dispatch/http/mime_negotiation.rbの修正です。
env hashから直接値を取得していた処理があったのを、get_headerメソッド経由で値を取得するよう修正しています。
set cached values in the env hash
actionpack/lib/action_dispatch/http/mime_negotiation.rbの修正です。
env hashから値を取得した際に、値をキャッシュするよう修正しています。
Test against the newest stable ruby 2.2.3
.travis.ymlの修正です。
テスト対象のRubyのバージョンを2.2.3に更新しています。
[skip ci] Debugging Rails Guide fixes
rails guideのDebugging Rails Applicationsの修正です。
Debugging with the byebug gemの項のグラマーの修正を行っています。
Refactor to remove controller class from route to request
ActionPackの修正です。
RouteSetクラスで保持していたcontrollerクラスの情報を、Requestクラスで保持するようリファクタリングしています。
testの際に、router経由せずにcontrollerにアクセスできるようにする為との事です。