2019/01/04分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #34706 from ChrisBr/instrumentation-guide
rails guideのActive Support Instrumentation
の修正です。
sql.active_record
hookに含まれているデータの一覧にconnection
、type_casted_binds
、statement_name
が不足していたのを追加しています。
Merge pull request #34816 from bogdanvlviv/add-skip-action-mailbox-option-to-rails-new-cmd
railties/lib/rails/generators/app_base.rb
の修正です。
rails new
にAction Mailboxのrequireをskipする為の--skip-action-mailbox
オプションを追加しています。
2x faster connection.type_cast
activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
の修正です。
type castが不要なtypeの一覧をメソッド(types_which_need_no_typecasting
)で管理していたのを、メソッドで管理せず直接分岐にtypeを指定するよう修正しています。
元々は各adapterで定義を変えれるようにするためにメソッドにしていたのですが、3rd partyを含む全てのadapterで同じtypeを使用している(メソッドを再定義していない)、かつ、メソッドにする事で不要なobjectの生成が必要になってしまっている、という理由により修正されています。
Merge the redundant when Symbol
case to the when String, ...
activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
の修正です。
Quoting#_quote
の分岐処理で、Symbol
の場合の処理をString
、ActiveSupport::Multibyte::Chars
の分岐にマージしています。行っている処理が同じ為。
Update the "Configuring Rails Applications" guide [ci skip]
rails guideのConfiguring Rails Applications
の修正です。
"Results of load_defaults
"の項を追加し、各Railsバージョンでload_defaults
により設定されるconfigの値について記載するよう修正しています。
Merge pull request #34858 from albertoalmagro/make-rails-compatible-accross-ruby-versions
activerecord/lib/active_record/relation/calculations.rb
の修正です。
Ruby 2.6でaverage
メソッドに存在しないカラムを指定した場合の戻り値が0.0
になっていたのを、Ruby 2.5まで同様にnil
になるよう修正しています。
BigDecimal
が1.4からNilClass
にto_dメソッドを追加するようになり、その影響で結果が変わるようになっていました。色々議論はあったのですが、存在しないカラムが指定された場合については
nil`になるのが望ましいだろう、という結論になり、元の挙動が維持されるようになっています。
Merge pull request #34773 from eileencodes/share-fixture-connections-with-multiple-handlers
activerecord/lib/active_record/test_fixtures.rb
の修正です。
複数のハンドラがある場合に、fixtureで使用したconnection poolを他のハンドラに共有するよう修正しています。
複数DBを使用している場合に、primary DBで作成したfixtureをreplica DBで参照できようにする為。
Fix example of I18n setting in the guide [ci skip]
rails guideのRails Internationalization (I18n) API
の修正です。
Inferring Locale from the Language Header
の項にあるexampleコードで、debug用のログで使用する値に誤りがあったのを修正しています。
Merge pull request #34797 from gsamokovarov/views-without-defined-protect-against-forgery
actionview/lib/action_view/helpers/csrf_helper.rb
、
actionview/lib/action_view/helpers/url_helper.rb
の修正です。
csrf_meta_tags
メソッド及びtoken_tag
メソッドで、protect_against_forgery?
メソッドを使用する前に、メソッドが定義されているかチェックするよう修正しています。
Railsアプリケーションで上記メソッドを使用する場合、protect_against_forgery?
は必ず定義されているのですが、Railsアプリケーション外で上記メソッドを使用したい場合にprotect_against_forgery?
は定義されていないケースはある為、NoMethodError
になるのを防ぐためにメソッドの定義チェックを行うようにしています。