なるようになるブログ

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

rails commit log流し読み(2015/06/09)

2015/06/09分のコミットです。

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

actionview/CHANGELOG.md


Raise an ArgumentError when include_blank is false for a required field in

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

selectタグを生成するメソッドで、include_blankfalseが設定されている場合に、不正な値(falseになる値)があった場合に、ArgumentErrorをraiseするよう修正しています。

チェック処理に誤りがあり、不正な値が送信された際に、include_blankの設定が無視されてしまっていた為、修正したようです。


add option to avoid generating scaffold.css

railties/lib/rails/generators.rbrailties/lib/rails/generators/rails/scaffold/scaffold_generator.rbの修正です。

scaffold.cssファイルの生成をスキップする為の--no-scaffold-stylesheetオプションをgeneratorに追加しています。


Fix typo in AM I18n validation test name [skip ci]

activemodel/test/cases/validations/i18n_validation_test.rbの修正です。

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


extract required_defaults from the conditions hash before constructing the route

ActionPackの修正です。

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

元々はdefaults引数に全ての値を設定していたのですが、それだと必須項目が渡されているかどうかrespond_to?メソッドでチェック処理を行う必要があった為、不要なチェック処理を削除出来るようにする為に、必須値については別に渡すようにしたようです。


we only care about methods that the request object responds to https://github.com/rails/rails/commit/877c133855c8f26f8f250103aba8c458a787d39b actionpack/lib/action_dispatch/routing/route_set.rbの修正です。

build_conditionsメソッドで行っていたconditionsのチェック処理を、request objectにそのメソッドが定義されているかどうかのチェックするよう修正しています。


remove unused code

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

build_conditionsメソッドから使用していないpath_values変数を削除しています。


Use block variable instead of global

activesupport/lib/active_support/core_ext/uri.rbの修正です。

String#gsubメソッドでマッチした値を使用するのに、グローバル変数ではなく、ローカル変数を使用するように修正しています。そちらの方が性能的に良いとの事です。性能測定の結果は下記の通り。

Benchmark.ips do |x|
  x.report("$&") {
    "foo".gsub(/f/) { $&.hex }
  }
  x.report("block var") {
    "foo".gsub(/f/) { |match| match.hex }
  }
end
Calculating -------------------------------------
                  $&    23.271k i/100ms
           block var    24.804k i/100ms
-------------------------------------------------
                  $&    321.981k (± 7.4%) i/s -      1.606M
           block var    324.949k (± 9.2%) i/s -      1.612M

Tiny documentation edits [ci skip]

actionmailer/lib/action_mailer/base.rbactionview/lib/action_view/helpers/cache_helper.rbのdocの修正です。

タイポの修正、RDOcフォーマットの修正等を行っています。


update Rails Command Line guide page

rails guideのThe Rails Command Lineの修正です。

bin/rails serverコマンドの出力例を、実際の出力と合わせるよう修正しています。