なるようになるブログ

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

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

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

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

actionpack/CHANGELOG.md

actionview/CHANGELOG.md


Revert "Merge pull request #19411 from dmathieu/rack_env_changelog"

don't fallback to RACK_ENV when RAILS_ENV is not present の対応についてCHANGELOGに追記したコミットをrevertしています。元のRACK_ENVの対応についても次のコミットでrevertされています。


Revert "Merge pull request #19404 from dmathieu/remove_rack_env"

don't fallback to RACK_ENV when RAILS_ENV is not present をrevertしています。

ENV["RACK_ENV"]を値を取得する、という仕様は、publicな仕様なので仮に削除するならまずdeprecateにしてから対応すべき、との事でrevertされています。


Change 'girlfriend' to 'partner'

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

Fixtures are Active Record objectsの項のexampleコードを修正しています。


Fix handling of empty X_FORWARDED_HOST header.

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

HTTP_X_FORWARDED_HOST headerが空だった場合にNoMethodErrorが発生してしまうバグがあった為、Actiondispatch::Http:URL.raw_host_with_portメソッドで、HTTP_X_FORWARDED_HOSTが空だった場合に処理を行わないよう修正しています。


Merge pull request #19421 from jcoyne/translate_defaults_with_nil

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

translateメソッド:defaultオプションの値にnilがあった場合にtranslation missing errorが発生してしまうバグがあったのを修正しています。

translate(:'translations.missing', default: [:'also_missing', nil, 'A Generic String'])
# => 'A Generic String'

Rails 4.2.0までは問題無く、4.2.1で発生したデグレとの事です。


Use Module#prepend instead of alias_method_chain

activesupport/lib/active_support/core_ext/marshal.rbactivesupport/lib/active_support/core_ext/object/json.rbの修正です。

alias_method_chainメソッドを使用していた箇所を、Module#prependメソッドを使用するよう修正しています。

Rails 4.2系まではRuby 1.9をサポートしている為Module#prependを使用出来なかったのですが、Rails 5系は現状Ruby 2.2.1以上対応となっているので修正たとの事です。


Mark some constants as nodoc and remove unneeded namespace

activesupport/lib/active_support/core_ext/marshal.rbactivesupport/lib/active_support/core_ext/object/json.rbの修正です。

moduleへのnodocの追加及び不要なnamespaceの削除を行っています。


rake initializer -> rake initializers

railties/lib/rails/tasks.rbの修正及び、 railties/lib/rails/tasks/initializer.rake → railties/lib/rails/tasks/initializers.rake へのファイル名の変更です。

rake initializerrake initializersに名前を変更しています。

rake routesrake annotationsのように、複数データの情報を出力するタスクは複数形にしているので、合わせるよう修正したようです。


Revert "Use def setup instead of setup do"

setup doの代わりにdef setupを使用するようにしたコミットをrevertしています。 このコミットの影響で、integration テスト実行時に、@routesインスタンスが生成されていない、というバグが発生してしまった為、一旦revertした、との事です。


[ci skip] Check a result of valid? instead of create

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

form_forメソッドのexampleで、生成したインスタンスのエラーチェックの方法に誤りがあったのを修正しています。


use Dir.exist? instead of deprecated Dir.exists?

railties/lib/rails/test_unit/runner.rbの修正です。

deprecatedになっているDir.exists?メソッドを使用していたのを、Dir.exist?を使用するよう修正しています。


Fix ActiveModel::Errors deprecation messages failing when used on its own

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

'active_support/core_ext/string/filters'のrequireを追加しています。

deprecationメッセージを出力する際に、String#squishメソッドを使用していたのですが、squishメソッドは上記filtersファイル内で定義されており、ActiveModelを単体で使用した際にNoMethodErrorでエラーになってしまっていた為、ロードするよう修正しています。


Fix typos in test runner's help output

railties/lib/rails/test_unit/runner.rbの修正です。

rails runnerのヘルプメッセージにタイポがあったのを修正しています。


Removed requiring ostruct because its unused

railties/lib/rails/test_unit/runner.rbの修正です。

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