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にアクセスできるようにする為との事です。