なるようになるブログ

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

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

2015/08/25分のコミットです。

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

railties/CHANGELOG.md


Merge pull request #21267 from davidcornu/rails-server-port-env-var

railties/lib/rails/commands/server.rbの修正です。

rails server起動時のポート番号を、環境変数PORTに指定出来るよう修正しています。


Merge pull request #21342 from yui-knk/test/add_assert_method

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

migration versionに関するテストで、元々アサーションメソッドが使用されていなかったのを、assert_nothing_raisedメソッドを追加して、exceptionがraiseされない事を明示的に確認するよう修正しています。


Merge pull request #21339 from deepj/unused-block-arguments

actionpack/lib/action_controller/metal/etag_with_template_digest.rbactionpack/lib/action_dispatch/routing/route_set.rbの修正です。

EtagWithTemplateDigest moduleから、使用していないブロック変数を削除しています。


remove LookupContext#with_layout_format by passing formats for layouts explicitely.

ActionViewの修正です。

LookupContext#with_layout_formatメソッドを削除しています。

LookupContext#with_layout_formatメソッドは、layoutファイルの検索をする際に必要なformatを取得するためにしようされていたのですが、formatの情報をTemplateRendererクラスの各メソッドで持ちまわるようにし、別途取得する必要性はなくなった為、削除されたようです。


remove useless case in #resolve_layout.

actionview/lib/action_view/renderer/template_renderer.rbの修正です。

TemplateRenderer#resolve_layoutメソッドから、引数のlayoutがfalseだった場合の処理を削除しています。layoutがfalseになる事は無いため、との事です。


Allow release when CHANGELOG is changed

tasks/release.rbの修正です。

rails release用のtaskが、CHANGELOGが変更されていた場合にリリース出来ない仕組みになっていたのを、リリース出来るよう修正しています。


Pass formats to lookup_context

actionview/lib/action_view/layouts.rbactionview/lib/action_view/renderer/template_renderer.rbの修正です。

LookupContext#find_allメソッドを呼び出す際、formatの情報を渡すよう修正しています。

元々は、LookupContext#with_layout_formatメソッドでformatを設定していたのですが、LookupContext#with_layout_formatメソッドは削除されたので、明示的にメソッドに渡すよう修正したようです。


Pass the correct formats

actionview/lib/action_view/layouts.rbの修正です。

_layout_for_optionメソッドで、_default_layoutメソッドに誤ったformatの値を渡していたのを、修正しています。


use a custom request class to determine the controller class

actionpack/lib/action_dispatch/routing/route_set.rbactionpack/test/abstract_unit.rbの修正です。

テストで、controller classを生成するのに、RouteSet classを使用していたのを、Request class(をdelegateして作成したcustom class)を使用しるよう修正しています。


temp files are no more require

actionpack/test/abstract_unit.rbactivesupport/lib/active_support/core_ext/kernel/reporting.rbの修正です。

使用していないtempfileのrequireを削除しています。


subclass and delegate rather than mutating existing objects

actionpack/test/abstract_unit.rbの修正です。

stub用のcontrollerを作成する際、ActionDispatch::Routing::RouteSetクラスのインスタンスを生成し、そのインスタンスのdispatcher_classの値を直接操作し対応していたのを、 `ActionDispatch::Routing::RouteSetクラスを継承したサブクラス、及び、ActionDispatch::Request`のdelegateクラスを新規に作成し、そちらを使用するよう修正しています。


remove setter for the dispatcher class

actionpack/lib/action_dispatch/routing/route_set.rbの修正です。

RouteSetクラスから、使用していないdispatcher classのセッターメソッドを削除しています。


remove useless ivar

actionpack/lib/action_dispatch/routing/route_set.rbの修正です。

使用していない変数を削除しています。


use make_set helper method to generate route sets

actionpack/test/controller/routing_test.rbの修正です。

route setを作成するのに、独自のクラスを使用するのではなく、既に存在するヘルパーメソッドを使用して作成するよう修正しています。


directly ask the request for the controller class

actionpack/lib/action_dispatch/routing/route_set.rbの修正です。

controller classを取得する際、ラッパーメソッド経由で値を取得していたのを、requestオブジェクトから直接値を取得するよう修正しています。

subclassでメソッドをoverrideする事を想定して、メソッド経由で値を取得するようにしていたのですが、現状、subclassでoverrideする事は無いので、使用しないようにしたようです。


pull up dispatcher allocation

actionpack/lib/action_dispatch/routing/mapper.rbactionpack/lib/action_dispatch/routing/route_set.rbの修正です。

RouteSet#dispatcherメソッドで行っていたRouting::RouteSet::Dispatcherクラスのインスタンス生成処理を、左記メソッドの呼び出し元であるMapper#dispatcherメソッドで行うよう修正しています。


remove dead code :bomb:

actionpack/test/abstract_unit.rbの修正です。

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


rm useless method

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

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


stop using @env in the GET / POST methods

actionpack/lib/action_dispatch/http/request.rbactionpack/lib/action_dispatch/middleware/params_parser.rbの修正です。

envの値を取得/設定する際、env hashを直接操作するのではなく、getter /setter メソッド経由で値を操作するよう修正しています。


minor documentation improvement [ci skip]

activesupport/lib/active_support/core_ext/string/strip.rbのdocの修正です。

String#strip_heredocメソッドのdocの、言い回しを修正しています。


override controller_class on the request

テストで、controller classを生成するのに、RouteSet classを使用していたのを、Request class(をdelegateして作成したcustom class)を使用しるよう修正しています。

こちらはrailtiesの方のテストの修正なのですが、action packの方のテストと大分同じ内容になってしまっているので、リファクタリングが必要そうな感じとの事です。


fewer calls to env

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

envの値を取得/設定する際、env hashを直接操作するのではなく、getter /setter メソッド経由で値を操作するよう修正しています。


remove more direct access to env

actionpack/lib/action_dispatch/http/request.rbactionpack/lib/action_dispatch/http/url.rbの修正です。

envの値を取得/設定する際、env hashを直接操作するのではなく、getter /setter メソッド経由で値を操作するよう修正しています。


remove another @env access

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

envの値を取得/設定する際、env hashを直接操作するのではなく、getter /setter メソッド経由で値を操作するよう修正しています。


remove more direct env mutations

actionpack/lib/action_controller/test_case.rbactionpack/test/controller/test_case_test.rbの修正です。

envの値を設定する際、env hashを直接操作するのではなく、setter メソッド経由で値を操作するよう修正しています。


use caller_locations instead of caller

callstackを表示するのに、callerメソッドを使用していたのw,caller_locationsメソッドを使用するよう修正しています。

caller_locationsだと、stringからのパス名切り出し等をしないで良いから、ですねえ。


Remove unused block arguments

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

cookie_jarメソッドから、使用していないブロック変数を削除しています。


Remove unused block arguments

actionpack/lib/action_dispatch/http/request.rbactionpack/test/dispatch/callbacks_test.rbの修正です。

各箇所から、使用していないブロック変数を削除しています。


Merge pull request #21094 from aditya-kapoor/add-missing-ap-tests

actionpack/test/controller/routing_test.rbの修正です。

routingで、actionパラメータに正規表現を使用した場合のテストが無かったので、追加しています。


[ci skip] Fix #21364 error in documentation about ActiveRecord::Enum

activerecord/lib/active_record/enum.rbのdocの修正です。

ActiveRecord::Enumのdocにあるexampleが、エラーになってしまうコードになってしまっていたのを、正しく動作するコードに修正しています。


Merge pull request #21074 from vrybas/rdoc-fix-typo-belongs-to-inverse-of-class-name

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

inverse_ofオプションについて説明している箇所で、exampleコードのクラス名にタイポがあったのを修正しています。


remove unused require ‘set’

actionpack/lib/action_controller/caching.rbactiverecord/lib/active_record/base.rbrailties/test/application/initializers/frameworks_test.rbの修正です。

使用していないsetのrequieを削除しています。


Make change_column_default to work

activerecord/lib/active_record/migration/command_recorder.rbの修正です。

change_column_defaultを使用して、migrationのupdownを使用した場合に、正しく動作しないバグがあったのを修正しています。

Add reversible syntax for change_column_default by sikachu · Pull Request #20018 · rails/rails の対応によるデグレとの事です。


A quick pass over the testing guide

rails guideのA Guide to Testing Rails Applicationsの修正です。

下記修正をまとめて行っています。

  • fixturesはmodelとcontrollerのテストでのみ自動で読み込まれる、と記載されていたが、実際は全てのテストで自動で読み込まれるので、その旨説明修正
  • タイポ及び言い回しの修正
  • 1行80文字に収まるように、適切な位置に改行を追加

Fix a tiny typo [ci skip]

rails guideのDebugging Rails Applicationsの修正です。

Step by Stepの項に、不要なスペースがあったのを削除しています。