なるようになるブログ

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

rails commit log流し読み(2016/02/17)

2016/02/17分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

actionpack/CHANGELOG.md

railties


Test parent local_stored_attributes isn't modified

activerecord/test/cases/store_test.rbの修正です。

store_accessorを使用している、かつ、子クラスのstore_accessorを変更した場合に、親クラスのstored_attributesに影響が無い事を確認するテストを追加しています。


Merge pull request #23203 from vipulnsward/22979-show-tags-on-exception

actionpack/lib/action_dispatch/middleware/debug_exceptions.rbactionview/lib/action_view/template/error.rbの修正です。

ログファイルにエラー情報を出力する際、エラー情報の各行にlog_tagsで設定した情報が表示されるよう修正しています。

# before
[31a81c1c-abd0-442c-90f6-69682b61ed8d]
NameError (undefined local variable or method `rticle' for #<ArticlesController:0x00556cd2de2b98>):
  app/controllers/articles_controller.rb:7:in `index'

# after
[f60a62de-0be8-40ff-8d89-0f956081063d] NameError (undefined local variable or method `rticle' for #<ArticlesController:0x00559f8abd7750>):
[f60a62de-0be8-40ff-8d89-0f956081063d]
[f60a62de-0be8-40ff-8d89-0f956081063d] app/controllers/articles_controller.rb:7:in `index'

[ci skip] Updating edge rails guides to include on_weekday? on Date, Time and DateTime

rails guideのActive Support Core Extensionsの修正です。

DateTimeDateTimeクラスのメソッドの一覧にRails 5から追加されたon_weekday?on_weekend?メソッドを追加しています。


Merge pull request #23661 from meinac/add_gzip_mime_type

actionpack/lib/action_dispatch/http/mime_types.rbの修正です。

defaultのmime typeの一覧にapplication/gzipを追加しています。


adds --skip-listen to the application generator [closes #23590]

railtiesの修正です。

rails newコマンドのオプションに、listen gemに依存した処理をデフォルトオフにする--skip-listenオプションを追加しています。

OSがLinux / Mac系でもVMだとlisten gemが正しく動作しないケースがある為、そういう場合に処理を無効化出来るようにする為に追加したとの事です。


Fix code style

actionpack/lib/action_dispatch/middleware/debug_exceptions.rbの修正です。

引数があるメソッドを定義する際、引数の前後に()の指定が無い箇所があったのを修正しています。

-    def logger request
+    def logger(request)

Railsのコーディング規約では()をつけるようになっている為との事です。


The JSON API media type should only work wih a JSON API handler

actionpack/lib/action_dispatch/http/mime_types.rbの修正です。

JSON MIME typeの一覧からJSON API media type(application/vnd.api+json)を削除しています。

application/vnd.api+jsonはあくまでspecであり、JSON rendererで直接処理を行うtypeでは無い為、との事です。


Fix typo

actionpack/test/dispatch/request/json_params_parsing_test.rbの修正です。

テスト名でparseparsesにタイポしている箇所があったのを修正しています。


Fix semantics of test names for finish option in batches_test

activerecord/test/cases/batches_test.rbの修正です。

find_in_batchesin_batchesメソッドfinishオプションを指定した場合のテスト名がxxx_end_optionとなっていたのを、xxx_finish_optionに修正しています。

Changed options for find_each and variants to have options start/finish by vipulnsward · Pull Request #23099 · rails/railsでオプション名がend_atからfinishに変更になったのですが、その際の変更漏れです。


Show proper error message when a non-relation object is passed to AR::Relation#or

activerecord/lib/active_record/relation/query_methods.rbの修正です。

ActiveRecord::Relation#orメソッドの引数にActiveRecord::Relation以外の値を渡した際に、適切なエラーメッセージを表示するよう修正しています。

Post.where.not(name: 'DHH').or(name: 'Tenderlove')

# before
# =>  NoMethodError: undefined method `limit_value' for #<Hash:0x007ff34cb34830>

# after
# =>  ArgumentError: You have passed Hash object to #or. Pass an ActiveRecord::Relation object instead.

Add Action Cable CHANGELOG in release notes [ci skip]

rails guideのRuby on Rails 5.0 Release Notesの修正です。

CHANGELOGへのリンクの一覧にAction CableのCHANGELOGへのリンクを追加しています。


Remove unused Journey code

actionpack/lib/action_dispatch/journey/backwards.rbactionpack/lib/action_dispatch/journey/router.rbの修正です。

使用していないmodule、定数を削除しています。


remove unused method

railties/lib/rails/generators/rails/plugin/plugin_generator.rbの修正です。

使用していないメソッドを削除しています。


Implement ActionController::Parameters#inspect

actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。

ActionController::Parametersクラスにinspectメソッドを実装しています。

元々inspectメソッド@parametersdelegateしていたのですが、それだとクラスがHashのように表示されてしまうのですが、実際のActionController::ParametersはHashではない為、クラス名を正しく表示出来るようinspectメソッドを実装したとの事です。

PRより。

# before
ActionController::Parameters.new({'x': 'y'}).inspect
# => "{\"x\"=>\"y\"}"

# after
ActionController::Parameters.new({'x': 'y'}).inspect
# => "<ActionController::Parameters {\"x\"=>\"y\"}>"

modify to error also abort when specify fail fast option

railties/lib/rails/test_unit/minitest_plugin.rbrailties/lib/rails/test_unit/reporter.rbの修正です。

bin/rails--fail-fastオプションを指定した場合に、テストがerrorになった場合も、failureの場合と同様テストを終了するよう終了しています。


Merge pull request #23662 from rthbound/adds-missing-digestor-nested-deps-tests

actionview/test/template/digestor_test.rbの修正です。

不足していたDigestor#nested_dependenciesメソッドについてのテストを追加しています。