なるようになるブログ

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

rails commit log流し読み(2016/10/25)

2016/10/25分のコミットです。

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

activesupport/CHANGELOG.md


Fix model schema doc strings

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

ActiveRecord::ModelSchema moduleのsingleton-methodの各docがblock内に定義されていたのを、blockの外に移動しています。block内だとdocが生成されない為、docが生成されるようにする為との事です。


Copy-edits on #26880

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

ActiveRecord::ModelSchema moduleのdocに対して、適切な位置に改行を追加、フォーマットの修正、table_name_prefixについてのdocの追加、等をまとめて行っています。


remove assets config from new_framework_defaults if --skip-sprockets is true

railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults.rb.ttの修正です。

rails newする際に--skip-sprocketsオプションを指定した場合、new_framework_defaults.rbRails.application.config.assets.unknown_asset_fallbackの設定を行わないよう修正しています。

sprocketsがloadされていない場合、Rails.application.config.assetsは定義されていない為。


Missing require extract_options

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

不足していたactive_support/core_ext/array/extract_optionsのrequireを追加しています。


Merge pull request #26868 from prathamesh-sonpatki/use-hash-compact-from-ruby-24

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

Ruby 本体でHash#compact#compact!が定義されてる場合、そちらのメソッドを使用するよう修正しています。rubyのtrunkにはHash#compactHash#compact!が追加されている為。

参考:Feature #11818: `Hash#compact` - Ruby trunk - Ruby Issue Tracking System


Fix plain option in the rails_guides generator

guides/rails_guides/markdown.rbの修正です。

rails guideの生成処理で、既に削除されたrenderメソッドのtextオプションを使用している箇所があったのを、plainオプションを使用するよう修正しています。


Uses queue adapter_method instead of ActiveJob::Base.queue_adapter

activejob/test/cases/test_helper_test.rbの修正です。

queue adapterを使用するのに、ActiveJob::Baseクラスの値を直接参照していたのを、queue_adapterメソッド経由で値を取得するよう修正しています。 他の箇所と処理を合わせる為。


Merge pull request #26869 from prathamesh-sonpatki/fix-brittle-mysql-tests

activerecord/test/cases/adapters/mysql2/connection_test.rbの修正です。

MySQLのclientのconnectionが接続されてない場合にエラーが発生する事のテストで、エラーメッセージを確認していたのを、エラーメッセージは確認せず、ActiveRecord::StatementInvalidがraiseする事を確認するだけにしています。

出力されるエラーメッセージはmysql2 gemに依存しており、mysql2 gemの仕様が変わるとまたテストが壊れてしまう可能性がある為、メッセージは見ないようにしています。ただこれだと発生しているエラーがconnectionエラーであること、の確認が出来ないような。


Generate HTML not plain text

guides/rails_guides/markdown.rbの修正です。

rails guideの生成処理で、renderメソッドの引数にplainオプションを使用していたのを、htmlオプションを使用するよう修正しています。


Fix indentation

guides/rails_guides/markdown/renderer.rbの修正です。

コードのインデントを調整しています。


Fix small typo in ActionView API documentation [ci skip]

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

#date_selectメソッドのdoc内のタイポの修正を行っています。


Fix HTML escaping in the guides

guides/rails_guides/markdown.rbguides/source/layout.html.erbの修正です。

guideをrenderする際に、html_safeした値を渡すよう修正しています。

-        @view.render(layout: @layout, html: @body)
+        @view.render(layout: @layout, html: @body.html_safe)

render :htmlはhtml safeでない値が渡された場合、メソッド内で自動でescape処理を行ってしまう為、不要なescape処理が行われるのを避ける為にhtml_safeした値を渡すようにしています。


Remove mona lisa image from the tests

Action Packのテストの修正です。

file uploadのテストでモナリザの画像(https://github.com/rails/rails/blob/8b3ed2b68ae615523299c5551b4ad6ab8e7f74cf/actionpack/test/fixtures/multipart/mona_lisa.jpg)を使用していたのを、railsの画像を使用するよう修正しています。

モナリザの画像にはコピーライトがあり、そのコピーライトをRailsが持っている訳では無いので、Railsチームがコピーライトを保持している画像を使用するようにしたとの事です。