なるようになるブログ

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

rails commit log流し読み(2016/05/17)

2016/05/17分のコミットです。

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


Keep state around for nested calls to #suppress

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

#suppressメソッドで、元のstateの情報を保持するよう修正しています。

    module ClassMethods
       def suppress(&block)
+        previous_state = SuppressorRegistry.suppressed[name]
         SuppressorRegistry.suppressed[name] = true
         yield
       ensure
-        SuppressorRegistry.suppressed[name] = false
+        SuppressorRegistry.suppressed[name] = previous_state
       end
     end

同じクラスでsuppressをnestして使用する場合に、stateがおかしくなってしまう(本来trueの筈がfalseになってしまう)のを防ぐため対応したようです。


Merge pull request #24930 from henrik/date-all-day

activesupport/lib/active_support/core_ext/date_and_time/calculations.rbactivesupport/lib/active_support/core_ext/time/calculations.rbの修正です。

Dateクラスでも#all_dayメソッドを使えるよう修正しています。

Date.current.all_day
#=> Mon, 16 May 2016 00:00:00 UTC +00:00..Mon, 16 May 2016 23:59:59 UTC +00:00

元々Time#all_dayはあったのですが、Dateでも使えた方が便利だろう(Item.where(created_at: Date.current.all_day)のような使い方が出来る)という事で追加されたようです。


Merge pull request #24203 from sferik/count_with_block

Active Recordの修正です。

ActiveRecord::Relation#countにblockを渡した場合に、Enumerable#countでそのblockの処理を行うよう修正しています。

Account.count { |account| account.credit_limit.modulo(10).zero? }

Update the Rails security guide

rails guideのRuby on Rails Security Guideの修正です。

Session idの項でsession idの生成にMD5を使用している旨説明があったのですが、実際はSecureRandom.hexは使用しているので、その旨説明を修正しています。


Replace middleware with executor callback.

actionview/lib/action_view/digestor.rbactionview/lib/action_view/railtie.rbの修正です。

request digest cachesをクリアするのにそれようのmiddleware(PerRequestDigestCacheExpiry)を追加し対応していたのを、executorを使用し処理を行うよう修正しています。


Remove extranous spaces from assignment.

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

変数に代入している箇所から、不要なスペースを削除しています。


md5 --> MD5

rails guideのCaching with Rails: An Overviewの修正です。

md5MD5に修正しています。


Add Attributes API to release notes [ci skip]

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

Active Record attributes APIについての説明を追加しています。


update to make it less obvious that this guide is from 2008/2009

rails guideのRuby on Rails Security Guideの修正です。

既にプロジェクトが終了してしまったlive HTTP headers projectへのリンクを削除、また、内容が古くなってしまった悪意のある広告についての説明を削除しています。


Merge pull request #25039 from maclover7/jm-capitalization-2

rails guideのRuby on Rails Security Guideの修正です。

id -> IDwin32 -> Win32のように大文字であるべき箇所が小文字になっていたのをまとめて修正しています。