なるようになるブログ

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

rails commit log流し読み(2015/02/21)

2015/02/21分のコミットです。

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

activerecord/CHANGELOG.md

actionpack/CHANGELOG.md


Merge pull request #17138 from jpcody/rename_default_form_builder

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

Helpers#default_form_builder -> Helpers#build_default_form_builderメソッド名を変更しています。

デフォルトのbuilderクラスを指定する為の、action_view.default_form_builderという設定があり、そちらと名前がバッティングしてしまっている為、変更したとの事です。


Use a name that better reflect the return value

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

Helpers#build_default_form_builder -> Helpers#default_form_builder_classメソッド名を再度変更しています。戻り値がClassの為、メソッド名からそれがわかるよう修正したようです。


Merge pull request #17144 from skojin/patch-doc-validation-format-z-regexp

activemodel/lib/active_model/validations/format.rbのdocの修正です。

validation用の正規表現を説明している箇所で、終端を表すメタ文字が\Zになっていたのを\zに修正しています。


Merge pull request #18665 from sgrif/sg-test-route-all

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

assert_routingメソッドのオプションにmethod: "all"を指定出来るよう修正しています。"all"を指定した場合、:get, :post, :put, :deleteを全て指定したのと同じ扱いになります。


Merge pull request #17143 from kuldeepaggarwal/fix-mailTo

actionview/lib/action_view/helpers/url_helper.rbn修正です。

mail_toメソッドのオプション(`cc, bcc, body, subject)に空文字を設定した場合に、出力される値がおかしくなるバグがあったのを修正しています。


Merge pull request #17139 from mfazekas/fix_becomes_changed_attributes

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

ActiveRecord::Relation#becomes!メソッドが変更したattributesも必ずリセットするよう修正しています。


Fix cache_helper comment ERB

actionview/lib/action_view/helpers/cache_helper.rbのdocの修正です。

cache_ifcache_unlessのexampleに不要な=があったのを削除しています。


Use sentence case for consistency in comments

rails guideのActive Job Basicsの修正です。

各example内の説明分のdo -> Doに修正しています。グラマーの修正、なのかな…。


Merge pull request #16993 from Empact/simplify-find_by-statement-cache

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

共通処理をメソッドへの切り出し、変数名を適切な名前に修正、とうリファクタリングを行っています。


Move the validate! method to ActiveModel::Validations.

ActiveRecord/ActiveModelの修正です。

ActiveReocrd::Validations#validate!メソッドActiveModel::Validationsクラス配下に移動しています。 以前validate関連の処理をActiveModelに移動した事があったのですが、その際の対応漏れのようです。


Merge pull request #16989 from Empact/reload-cache-clear

ActiveRecordの修正です。

ActiveRecord::Coreで保持していた@aggregation_cache@association_cacheの値を、それぞれActiveRecord::AggregationsActiveRecord::Associationsで保持するよう修正しています。module間の独立性を高める為との事です。


Do not test, document or use a private API method

activerecord/lib/active_record/aggregations.rbactiverecord/test/cases/associations_test.rbの修正です。

clear_association_cacheはprivate methodなのにもかかわらず、使い方のexampleがdocにあり、またテスト(sendメソッドを呼び出して実行)があったので、それぞれ削除しています。


s/around_filter/around_action/

activesupport/lib/active_support/core_ext/time/zones.rbのdocの修正です。

around_filter -> around_actionに修正しています。


Merge pull request #18218 from brainopia/fix_match_shorthand_in_routes

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

routesに簡略記法+動的パラメータを定義した場合に、エラーになってしまうバグがあったのを修正しています。

# routes.rb
get 'a/:action' => 'foo'
get 'b/:action/a' => 'foo'
#=> ArgumentError - 'b/:action' is not a supported controller name. This can lead to potential routing problems. See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use:

using_match_shorthand?メソッドのpathマッチング用の正規表現に誤りがあり、修正しています。


Merge pull request #17069 from modosc/master

actionview/lib/action_view/tasks/dependencies.rakeの修正です。

グローバルに定義されていたtemplate_namefinderメソッドを、CacheDigestsクラスを新規に作成し、その中に移動しています。factory_girlに同じtemplate_nameという名前のメソッドがあり、そちらと衝突してしまった為との事です。


Merge branch 'dilizarov-feature/alias_request_uuid_method_to_request_id'

ActionDispatch::Request#uuidメソッドエイリアスとしてActionDispatch::Request#request_idメソッドを追加しています。

uuidメソッドX-Request-Idを取得する為のメソッドなのですが、名前が解りづらい、という事でより実体に近い名前のメソッドを追加したようです。


Fix changelog indent [ci skip]

actionpack/CHANGELOG.mdの修正です。インデントの整理を行っています。


Change the deprecation messages to show the preferred way to work with

activemodel/lib/active_model/errors.rb及び各docの修正です。

先日コミットされたActiveModel::Errors#get, ActiveModel::Errors#set, ActiveModel::Errors#[]=をdeprecateにする対応で、 deprecateメッセージでは、代わりにerrors.messagesを直接操作するように、となっていたのですが、それよりも値の追加にはerrors.add、値の取得はerrors#[]メソッドの方が良いという事で、depreateメッセージ及び上記メソッドを使用しているdocを修正しています。


Oops :bomb:

guides/source/active_record_validations.mdの修正です。

先のerrorsの修正で、タイポしてしまった箇所があったのを修正しています。


Error message testing fix

各テストの修正です。

エラーメッセージを確認しようとしているテストで、実際は確認の処理が行われてないテストが幾つかあり、まとめて修正しています。


Fix #has_secure_token documentation [ci skip]

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

has_secure_tokenメソッドのdocで説明しているvalidator名に誤り(validates_presence_of -> validates_uniqueness_of)があったのを修正しています。


guides, fully qualify ApplicationController. Closes #19024.

rails guideのGetting Started with Enginesの修正です。

Using a Controller Provided by the Applicationの項の、アプリケーションのcontrollerを継承してengineのcontrollerを作成する際のexampleを修正しています。

-class Blorgh::ApplicationController < ApplicationController
+class Blorgh::ApplicationController < ::ApplicationController

元のコードのままだもcircular dependencyエラーが起きてしまっていたとの事です。これについて、つぎのコミットで再度修正されます。


[ci skip] Use explicit module namespace in guide

rails guideのGetting Started with Enginesの修正です。

Using a Controller Provided by the Applicationの項の、アプリケーションのcontrollerを継承してengineのcontrollerを作成する際のexampleを修正しています。

-class Blorgh::ApplicationController < ::ApplicationController
+module Blorgh
+  class ApplicationController < ::ApplicationController
+  end

guide内の他のexampleと合わせるよう、インラインネームスペースからmodule に切り出しています。