2017/04/15分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add support for
:offset
and:zone
toActiveSupport::TimeWithZone#change
- Add support for
:offset
toTime#change
Add additional options to time change
methods
activesupport/lib/active_support/core_ext/time/calculations.rb
、
activesupport/lib/active_support/time_with_zone.rb
の修正です。
Time#change``メソッドに
:offsetオプションを指定出来るよう対応しています。合わせて、
ActiveSupport::TimeWithZone#changeに
:offsetと
:zone`オプションを指定出来るよう対応しています。
t = Time.zone.now # => Sat, 15 Apr 2017 05:56:34 UTC +00:00 t.change(offset: "-10:00") # => Sat, 15 Apr 2017 05:56:34 HST -10:00 t.change(zone: "Hawaii") # => Sat, 15 Apr 2017 05:56:34 HST -10:00
Merge pull request #28661 from bogdanvlviv/fix-dirty-attributes-if-override-attr_accessor
activemodel/lib/active_model/dirty.rb
、
activerecord/lib/active_record/attribute_methods/dirty.rb
の修正です。
attributes readerをオーバーライドしている時(テーブルのカラム名と同じ名前のメソッドがある場合)にdirty methodが返す値に一貫性が無かった(オーバーライドされたメソッドが呼ばれる場合と呼ばれないケースがあった)のを、処理を統一するよう修正しています。
# app/models/user.rb class User < ApplicationRecord def email super.upcase end end
# before user = User.create!(email: "test@example.com") #<User id: 3, name: nil, email: "test@example.com", created_at: "2017-04-15 06:00:48", updated_at: "2017-04-15 06:00:48"> user.email = "dummy@example.com" # => "dummy@example.com" user.changes["email"] # => ["test@example.com", "DUMMY@EXAMPLE.COM"] # after user = User.create!(email: "test@example.com") #<User id: 3, name: nil, email: "test@example.com", created_at: "2017-04-15 06:00:48", updated_at: "2017-04-15 06:00:48"> user.email = "dummy@example.com" # => "dummy@example.com" user.changes["email"] # => ["test@example.com", "dummy@example.com"]
Move around AR::Dirty and fix _attribute method
activemodel/lib/active_model/attribute_methods.rb
、
activemodel/lib/active_model/dirty.rb
の修正です。
先のdirty methodについての対応で、attributeの値を取得するために_attributes
というメソッドを追加していたのですが、すでに同じ用途の為の_read_attribute
というメソッドがある為、そちらを使用するよう修正しています。
actionview/lib/action_view/helpers/form_helper.rb
のdocnの修正です。
form_with
メソッドのdocでFormOptionsHelper
をFormOptionHelper
にタイポしていたのを修正しています。
Rename association_query_handler.rb
to association_query_value.rb
Active Recordの修正です。
association_query_handler.rb
をassociation_query_value.rb
に、polymorphic_array_handler.rb
をpolymorphic_array_value.rb
にそれぞれリネームしています。
Convert association queries to PORO queriesの対応で、AssociationQueryHandler
クラス、PolymorphicArrayHandler
クラスは無くなり、上記のファイルにはAssociationQueryValue
クラス、PolymorphicArrayValue
クラスが残っている為、クラス名に合わせてファイル名を修正しています。
Early return in PredicateBuilder::ArrayHandler
activerecord/lib/active_record/relation/predicate_builder/array_handler.rb
の修正です。
PredicateBuilder::ArrayHandler#call
メソッドで、メソッドの先頭でearly returnするよう修正しています。
Merge pull request #28709 from prathamesh-sonpatki/release-notes-1
rails guideのRuby on Rails 5.1 Release Notes
の修正です。
各コンポーネントのNotable Changes
の項にエントリーを追加しています。
Merge pull request #28638 from bogdanvlviv/prepend_and_append_in_ruby
activesupport/lib/active_support/core_ext/array/prepend_and_append.rb
の修正です。
Array#append
、 Array#prepend
メソッド定義前にメソッドがRuby本体にメソッドが定義されてないかチェックするよう修正しています。