2016/02/12分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Ensure prepared statement caching still occurs with Adequate Record
Active Recordの修正です。
Adequate Recordで行っているSQLについては、必ずプリペアドステートメントをキャッシュするよう修正しています。
Rails 5ではプリペアドステートメントをキャッシュする対象を限定するようにしており、その影響で、Adequate Recordで行っている処理もキャッシュされないようになってしまっていたようです。その影響で、PostgreSQLでfind_by
した場合にperformance regressionが発生してしまっていた為、必ずキャッシュするよう修正したとの事です。
Merge pull request #23581 from diego-silva/uniqueness-validator-pk-fix
activerecord/lib/active_record/validations/uniqueness.rb
の修正です。
uniqueness validatorで、primary keyの値が変わった場合にuniquenessのチェックを更新前のprimary keyの値を除いて行うよう修正しています。
- relation = relation.where.not(finder_class.primary_key => record.id) + relation = relation.where.not(finder_class.primary_key => record.id_was)
更新後の値はまだDBに保存されていないので、更新前の値で見ないと更新しようとしているデータが uniqueness validationにひっかかってしまう為。
Merge pull request #18109 from k0kubun/unscoped-joins
activerecord/lib/active_record/associations/join_dependency/join_association.rb
の修正です。
unscoped
blockにjoin
を使用出来るよう修正しています。
Model.unscoped { Foo.joins(:model) }
make the logger method always return something
actionview/lib/action_view/digestor.rb
の修正です。
logger
メソッドで、ActionView::Base.logger
がnilだった場合、何も出力処理を行わないNullLogger
クラスを返すよう修正しています。
ログ出力処理から、logger
がnilの場合の処理(元はtry
を使用)を取り除く為、との事です。
actionview/lib/action_view/digestor.rb
の修正です。
先に追加されたNullLogger
クラスのインデントを調整しています。
actionview/lib/action_view/digestor.rb
の修正です。
先のインデント調整の際に、不要なデバッグ処理を誤って追加してしまった為、まとめて削除しています。
Don't capture the MissingTemplate exception.
actionview/lib/action_view/digestor.rb
の修正です。
digest
メソッドでActionView::MissingTemplate
をrescueの処理から、不要な例外オブジェクト変数を削除しています。
follow indentation rulesで誤って追加されてしまったもよう。
rails guideのA Guide for Upgrading Ruby on Rails
の修正です。
Railsのバージョンアップの仕方について説明した、The Upgrade Process
項を追加しています。
Make parsed_body
extract parser from the content type.
actionpack/lib/action_dispatch/testing/integration.rb
、
actionpack/lib/action_dispatch/testing/test_response.rb
の修正です。
integration test用のResponseクラスのparsed_body
メソッドを、as
オプションを指定しない場合でも使用出来るよう修正しています。
as
オプションが指定されてない場合は、request
のmime typeから使用するparserを決定するようになっています。
[ci skip] Fix syntax error in CHANGELOG example.
actionpack/CHANGELOG.md
の修正です。
Add parsed_body
to spare writing out parsing routines.の対応について記載したentry内のexampleコードが、syntax errorになってしまうコードだったのを修正しています。
[ci skip] Mention parsed_body
in docs.
actionpack/lib/action_dispatch/testing/integration.rb
のdocの修正です。
response_parser
変数について説明している箇所の、言い回しの修正を行っています。
actionpack/lib/action_dispatch/testing/test_response.rb
の修正です。
parsed_body
の値をメモ化していたのを、メモ化しないよう修正しています。
コミットログだと、メモ化した、という風になっているのですが、実際はメモ化やめてて何だろうと思ったのですが、どうやらメモ化は間違えて消してしまったようで、後ほど(Add fixes accidentally removed. · rails/rails@da1fbb9)再度メモ化するよう戻しています。
Merge pull request #23546 from maclover7/cable-readme-update
actioncable/README.md
の修正です。
グラマーの修正、pubsubはRedisのみが使用する前提になっていたのを、Redis以外のadapterについての説明を追加、等を行っています。
Improve wording in documentation change
rails guideのA Guide for Upgrading Ruby on Rails
の修正です。
The Upgrade Process
項の言い回し、グラマーの修正を行っています。
remove detail initialization metaprogramming
actionview/lib/action_view/lookup_context.rb
の修正です。
viewpathのdetailの初期化処理をmodule_eval
を使用して行っていたのを、通常通りにメソッドを定義して行うよう修正しています。
初期化処理はボトルネックにはなっていないようである、事、かつ通常のメソッドを使用した方が読みやすい為、との事です。
Fix numbers of steps to upgrade Rails [ci skip]
rails guideのA Guide for Upgrading Ruby on Rails
の修正です。
Document the upgrade processで追加されたThe Upgrade Process
内の作業ステップで、全て同じ数字が記載されていたのを、連番を記載するよう修正しています。
-1. Move to the latest patch version after your current version -1. Fix tests and deprecated features -1. Move to the latest patch version of the next minor version +2. Move to the latest patch version after your current version +3. Fix tests and deprecated features +4. Move to the latest patch version of the next minor version
Rails guideの生成にはredcarpet
を使用しており、redcarpet
では同じ数字を設定も大丈夫(表示の際に連番になって表示される)なはずなので、元のままでも大丈夫だと思うんですけどねえ…。
- Fixed and removed long arguments to rake routes
Action Pack / railtiesの修正です。
bin/rails routes
からロングオプション(--grep
及び--controller
)についての処理、及び説明を削除しています。
routes
はrake taskで実装されており、rake taskにはロングオプションはそのまま渡せなく、ショートオプション(-g
/ -c
)があるので、ロングオプションは無くても大丈夫良いだろう、という事で削除されたようです。
RELEASING_RAILS.md
の修正です。
Contact the security team
の項、security teamのメンバーがKoz or tenderlove
になっていたのを、tenderlove or rafaelfranca
に修正しています。