なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2015/08/22)

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経由でアクセスするよう統一する為、ですかねえ、


Remove unnecessary caching

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.mdREADME.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 MySQLActiveRecord::Type namespace配下に移動されたJSON処理用のクラスを、OID配下に戻しています。

ActiveRecord::Type namespace配下は全てのadaptersで対応されている型(ANSI SQL standardのもの)のみ登録可能とする方針にしており、JSONSQLiteでは対応してない為、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にアクセスできるようにする為との事です。