なるようになるブログ

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

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

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

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

actionview/CHANGELOG.md


[ci skip] Fix broken link markup

rails guideのWorking with JavaScript in Railsの修正です。

developer.mozilla.org の PushStateメソッドへのリンクが壊れてしまっていたのを、正しいリンクに修正しています。


fix comment about which mail headers are excluded

actionmailer/lib/action_mailer/base.rbのdocの修正です。

mailメソッド内のdocに記載されていたheadersから除外されるkeyの一覧が、実際の処理と異なっていたのを、現状の処理の内容に合わせて修正しています。


Sometimes you need a specific break sequence while using word wrap and as today the only option we have is "\n" and is hardcoded.

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

word_wrapメソッドの改行に使うコードを、"\n"固定だったのをメソッドの引数に指定出来るよう修正しています。

word_wrap('Once upon a time', line_width: 1, break_sequence: "\r\n")
#   # => Once\r\nupon\r\na\r\ntime

pull up the "options.delete(:controller)" logic

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

Mapperでcontrollerを取得する際、optionsから取得していたのを、コンストラクタ及びbuildの引数にcontrollerを追加し、メソッド呼び出しに必ず指定されるよう修正しています。


push action option extraction up one frame.

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

Mapperクラスのコンストラクタで行っていたactionの取得処理、Mapper.build(Mapperクラスのオブジェクト生成用メソッド)で行うよう、修正しています。


push option decomposition up a bit more

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

先のコミットでMapper.buildで行うようにしたactionの取得処理を、さらにMapper.buildの呼び出し元で行うよう修正しています。

option hashのデータを分解し、本当にoptionな情報だけ格納するようにするため、ですかねえ。


one fewer hash mutation

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

acitonの値を整形する際、整形後のデータをoption hashにそのまま格納していたのを、別変数に格納するよう修正しています。option hashは極力変化させないようにする為、のようです。


split paths by type

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

一つにまとまっていたpathの情報を、typeごとに変数を分けるよ修正しています。downstream ロジックを簡単にするため、との事です。


pull option duping up

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

process_pathメソッド内で行っていたoptions hasのdup処理を、process_pathメソッド呼び出し元のmatchメソッドで行うよう修正しています。


split options hash and pass values down

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

using_match_shorthand?メソッド内で、options hashからパラメータの取得処理を行っていたのを、呼び出し元のprocess_pathでoptions hashから情報を取得し、 using_match_shorthand?メソッドには必要な情報のみ渡すよう修正しています。

using_match_shorthand?メソッドでoptions hashについて管理しないで済むように、修正したようです。


path is never nil

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

using_match_shorthand?メソッドから、不要なpathのnilチェック処理を削除しています。


Rename match_attribute_method? to matched_attribute_method

activemodel/lib/active_model/attribute_methods.rbの修正です。

match_attribute_method?メソッドmatched_attribute_methodにリネームしています。

?で終わってるので、戻り値がbooleanかと思えば実際はそうでは無く、ややこしいのでは無いか、という事でメソッド名を変更したようです。


Authorization scheme should be case insensitive. Fixes #21199

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

Basic認証のスキーム名のチェックを大文字・小文字を区別をしないよう修正しています。

元々は、Basic固定だったのですが、RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication上は大文字・小文字どっちでもOKとなっているとの事です。知らなかった。


push scope access up for modules

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

Mapperクラスのコンストラクタの引数にmoduleを追加しています。

元々はコンストラクタ内でscopeから取得していたのですが、Mapperクラスからscopeへのアクセスを削除する予定があるので、引数で渡すようにしたようです。


pull to up

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

Mapper.buildメソッド及びMapperクラスのコンストラクタtoオプションを追加しています。

元々はoptions hashから取得していたのですが、何度もoptions hashにアクセスするのを避ける為、インスタンス変数として別途保持するようにしたようです。


pull :format up a little bit

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

Mapperクラスのコンストラクタの引数にformatを追加しています。

formatはscope hashから取得する必要がある場合があり、Mapperクラス内ではscopeへのアクセスをしないようにする方針の為、 Mapperクラスのインスタンスを作成するより前に取得するようにしたようです。


pull scope[:constraints] up

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

Mapperクラスのコンストラクタの引数にscope_constraintsを追加しています。

先のformat同様、constraintsの情報もはscope hashから取得する必要がある場合があり、Mapperクラス内ではscopeへのアクセスをしないようにする方針の為、 Mapperクラスのインスタンスを作成するより前に取得するようにしたようです。


Mapping instances don't need scope anymore

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

Mapperクラスから、使用しなくなったscope変数を削除しています。


only do is_a? checks on options_constraints once

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

options hashに設定されたconstraintsの値のチェックを、2回行ってしまうケースがあったのを、、一度だけ行うようリファクタリングしています。


only call split_constraints once

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

constraintsの値を分割するsplit_constraintsメソッドの呼び出しを、2回行ってしまうケースがあったのを、一度だけ行うようリファクタリングしています。


[ci skip] Swap ruby -v and the installation tip

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

Installing Railsの項、Rubyのバージョンの確認方法についてのexampleを記載している箇所を、インストールについてのTIPより前に移動しています。

説明の流れ的に、TIPの方にあった方が良いだろう、という事で修正されたようです。


[ci skip] Fix the indentation

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

accessed_fieldsメソッドのdocに記載されていたexampleのインデントがおかしくなっていたのを、修正しています。


docs, tiny rdoc markup fix. [ci skip]

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

callbackの実行順序について説明している箇所で、dependentオプションについて説明している箇所がRDoc記法になってなかったのを、RDoc記法に修正しています。


[ci skip] Fix rdoc markup

activerecord/lib/active_record/attribute_methods/serialization.rbactivesupport/lib/active_support/hash_with_indifferent_access.rbのdocの修正です。

各docのオプションについて説明している箇所で、オプションの記法所がRDoc記法になってなかったのを、RDoc記法に修正しています。