なるようになるブログ

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

rails commit log流し読み(2018/03/29)

2018/03/29分のコミットです。

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


Merge pull request #30956 from CJStadler/with-lock-changed-deprecation

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

Locking::Pessimistic#lock!メソッドでattributesが変更されかのチェックに5.1時点でdeprecateになっていたchanged?メソッドを使っていたのを、has_changes_to_save?メソッドを使用するよう修正しています。


Compare ruby version with correct way

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

Rubyのバージョンチェックをするのに文字列で比較していたのを、Gem::Versionを使用して比較するよう修正しています。

- if RUBY_VERSION < "2.4.1" && RUBY_ENGINE == "ruby"
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.4.1") && RUBY_ENGINE == "ruby"

元の比較方法だと、パッチバージョンが2桁になった場合に正しくチェック出来ない為。

"2.2.9" < "2.2.2"
# => false

"2.2.10" < "2.2.2"
# => true

Ruby 2.2.10が出た事により実際に問題になりました。