なるようになるブログ

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

rails commit log流し読み(2019/04/05)

2019/04/05分のコミットです。

CHANGELOGへの追加はありませんでした。


Fix rubocop offence for Style/FrozenStringLiteralComment

rubocopの設定に違反している箇所があったのを修正しています。


Merge pull request #35700 from Futurelearn/seb-secure-password-fix

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

Rails 5.2で出来ていたhas_secure_password attributeのオーバーライドが、Rails 6.0で出来なくなっていたのを、再度出来るよう修正しています。


Refactor has_secure_password to extract dedicated attribute module

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

has_secure_passwordのattributeに関する処理をmoduleに切り出すようリファクタリング、及び、has_secure_passwordのattributeがオーバーライド可能な事を確認するテストを追加しています。


Fix arity warning for template handlers

actionview/lib/action_view/template/handlers.rbの修正です。

template handlersでdeprecateメッセージを出力する際に、クラス名を表示するよう修正しています。

# before

Change:
  >> Class#call(template)
To:
  >> Class#call(template, source)


# after:

Change:
  >> Coffee::Rails::TemplateHandler.call(template)
To:
  >> Coffee::Rails::TemplateHandler.call(template, source)

Merge pull request #35691 from sushantmittal/add_deattach_from_in_active_support_subscriber

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

subscriberをnamespaceから切り離す為のdetach_fromメソッドをActiveSupport::Subscriberに追加しています。


Add documentation for 'after_save_commit' [ci skip]

rails guideのActive Record Callbacksの修正です。

Add after_save_commit callback as shortcut for after_commit :hook, on: [ :create, :update ]. (#35804)で追加されたafter_save_commitメソッドについての説明を追加しています。


fix typo in the guides (use Rails instead of rails)

rails guideのLayouts and Rendering in Railsの修正です。

rails -> Railsに修正しています。


Merge pull request #35864 from kamipo/improve_left_joins

Active Recordの修正です。

JoinDependencyにあるeager loadingの重複排除処理をleft_joinsでも再利用するよう修正しています。

これにより、string joinでleft_joinsを参照出来るようにしています。

例。

# before
Post.left_joins(:user).joins('INNER JOIN "comments" ON "comments"."user_id" = "users"."id"').to_sql
# => SELECT "posts".* FROM "posts" INNER JOIN "comments" ON "comments"."user_id" = "users"."id" LEFT OUTER JOIN "users" ON "users"."id" = "posts"."user_id"


# after
Post.left_joins(:user).joins('INNER JOIN "comments" ON "comments"."user_id" = "users"."id"').to_sql
SELECT "posts".* FROM "posts" LEFT OUTER JOIN "users" ON "users"."id" = "posts"."user_id" INNER JOIN "comments" ON "comments"."user_id" = "users"."id"

Remove duplicated test_find_last

activerecord/test/cases/base_test.rbの修正です。

test_find_lastメソッドを削除しています。テストしている内容がtest_lastメソッドと完全に同じだった為。


ast is no longer to be nil since #33118

actionpack/lib/action_dispatch/journey/routes.rbの修正です。

Journey::Routes#simulatorメソッドからastnilの場合のチェックを削除しています。現在astnilになる事は無い為。


Bump addressable to 2.6.0 to fix warning: assigned but unused variable - startercc

Gemfile.lockの修正です。

addressableのバージョンを最新のバージョンに更新しています。Rubyのwarningが表示されるのを避ける為。


preloaded_records no longer includes nil since #35496

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

Preloader#grouped_recordsメソッドからrecordがnilだった場合の処理を削除しています。preloaded_recordsnilのrecordが含まれる事は現在無いため。


Do not exclude paths in the global level of Code Climate

.codeclimate.ymlの修正です。

Code Climateのglobalの設定でexclude pathの指定をしていたのを削除しています。ローカルとCode Climateとで対象のpathが同じになるようにする為。


[ci skip] Mark ActiveRecord::TouchLater as private doc

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

ActiveRecord::TouchLaterにnodocを指定してAPI docに表示されないようにしています。


Add missing touch_all delegation to relation

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

Relationにdelegateするメソッドにtouch_allを追加しています。


Fix the deprecation warning about config.active_job.return_false_on_aborted_enqueue

activejob/lib/active_job/enqueuing.rbrails guideのConfiguring Rails Applicationsの修正です。

return_false_on_aborted_enqueueがfalseの場合に表示されるdeprecateメッセージ内の、挙動が変更になるRailsのバージョンの記載に誤りがあったのを修正、及び、return_false_on_aborted_enqueueのデフォルト値の説明に誤りがあったのを修正しています。


Add Active Job release notes [ci skip] (#35872)

rails guideのRuby on Rails 6.0 Release Notesの修正です。

Active Jobの変更点についてRelease Notesに記載しています。


Fix typo for touch later test description. laster -> later

activerecord/test/cases/touch_later_test.rbの修正です。

laterlasterにタイポしていたのを修正しています。