2017/11/29分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Fix optimized url helpers when using relative url root
- Register most popular audio/video/font mime types supported by modern browsers.
Fix optimized url helpers when using relative url root
actionpack/lib/action_dispatch/routing/route_set.rb
の修正です。
relative url rootを指定している場合に、url helperが正しいpathを返さなかった(relative url rootの指定を考慮した値が返ってなかった)のを修正しています。
Fix typos and add a few suggestions
各READMEファイルのグラマーの修正を行っています。
Preparing for 5.2.0.beta2 release
5.2.0.beta2のリリース準備として、各コンポーネントのバージョンを5.2.0-beta1
に更新、CHANGELOGの先頭にリリース日を記載、等を行っています。
なお、beta1からの差分は、Active Storage(gemにmigrations filesを含むのを忘れていた対応)だけです。
Make sure the request exist befoe trying to send early hints
actionview/lib/action_view/helpers/asset_tag_helper.rb
の修正です。
javascript_include_tag
、stylesheet_link_tag
メソッドで、early hintsを送信する際に、request
オブジェクトが存在するかチェックするよう修正しています。
Action Mailerだとrespond_to?(:request)
がtrueになるが、request
オブジェクトが存在しない、という状態になる為。
Merge pull request #31254 from suginoy/update_doc_find_order
activerecord/lib/active_record/relation/finder_methods.rb
のdocの修正です。
ActiveRecord::FinderMethods#find
メソッドのdocに、引数のidを配列で指定した場合、結果はそのid順にはならないだろう、と記載されていたのですが、実際はid順になる(ActiveRecord::Base#find(array) returning result in the same order as the array passed)為、その旨説明を修正、及び、DBでソートされた結果が欲しい場合、where
メソッドを使うよう説明を追加しています。
Merge pull request #31179 from kinnrot/scoping-reserved-names
activerecord/lib/active_record/enum.rb
、
activerecord/lib/active_record/scoping/named.rb
の修正です。
enumで、Relation
のインスタンスメソッドと同名のscope(e.g. records
、to_ary
)を定義出来ないよう修正しています。同じ名前が使われた場合、ArgumentError
がraiseされます。
Formatting fix for example code
activesupport/lib/active_support/deprecation/constant_accessor.rb
、
activesupport/lib/active_support/deprecation/proxy_wrappers.rb
のdocの修正です。
DeprecatedConstantAccessor
module及びDeprecatedConstantProxy
classのdocのexampleコード内のコメント部分の先頭に#
を追加しています。
Merge pull request #31268 from tjschuck/refactor_prev_next_occurring
activesupport/lib/active_support/core_ext/date_and_time/calculations.rb
の修正です。
next_occurring
及びprev_occurring
メソッドで時間を移動するのにsince
/ ago
メソッドを使用していたのを、advance
を使用するよう修正しています。
メソッドの結果が、呼び出し元と同じクラスのインスタンスになるようにする為。
# Before today = Date.today # => Wed, 29 Nov 2017 today.class # => Date today.next_occurring(:wednesday) # => Wed, 06 Dec 2017 00:00:00 UTC +00:00 today.next_occurring(:wednesday).class # => ActiveSupport::TimeWithZone # After today = Date.today # => Wed, 29 Nov 2017 today.class # => Date today.next_occurring(:wednesday) # => Wed, 06 Dec 2017 today.next_occurring(:wednesday).class # => Date
[ci skip] Correct output for Upcase
activesupport/lib/active_support/core_ext/string/multibyte.rb
のdocの修正です。
String#mb_chars
メソッドのdoc内の"lj".upcase
の実行結果が実際の結果と異なっていたのを修正しています。
が、これは元の結果が正しい(正確にはUnicode case mappingsがサポートされたRuby 2.4以降とそれより前で結果が違う)為、後ほど再度修正されています。
Merge pull request #31251 from rails/preload_link_tag
二つの対応が一つのPRで行われており、ひとつ目はよく使われる audio/video/fontのmime types(video/webm
やfont/ttf
、audio/aac
等)をデフォルトのmime typeに追加しています。
もうひとつは、リソースのローディングを最適化する為のPreload
を使用する為のpreload_link_tag
メソッドです。
preload_link_tag
の実行例は下記の通り。
preload_link_tag("custom_theme.css") # => <link rel="preload" href="/assets/custom_theme.css" as="style" type="text/css" /> preload_link_tag("/videos/video.webm") # => <link rel="preload" href="/videos/video.mp4" as="video" type="video/webm" /> preload_link_tag(post_path(format: :json), as: "fetch") # => <link rel="preload" href="/posts.json" as="fetch" type="application/json" /> preload_link_tag("worker.js", as: "worker") # => <link rel="preload" href="/assets/worker.js" as="worker" type="text/javascript" /> preload_link_tag("//example.com/font.woff2") # => <link rel="preload" href="//example.com/font.woff2" as="font" type="font/woff2" crossorigin="anonymous"/> preload_link_tag("//example.com/font.woff2", crossorigin: "use-credentials") # => <link rel="preload" href="//example.com/font.woff2" as="font" type="font/woff2" crossorigin="use-credentials" /> preload_link_tag("/media/audio.ogg", nopush: true) # => <link rel="preload" href="/media/audio.ogg" as="audio" type="audio/ogg" />
mime typeに合わせて適切なas
属性を出力してくれるようになっています。また、デフォルトでearly hintsを送信するようになっています。
参考:
Register "audio/mp4" mime type with :m4a symbol
actionpack/lib/action_dispatch/http/mime_types.rb
の修正です。
mime typeのsymbolとしてmp4
が複数登録されていたので、audio/mp4
の方のsymbolをm4a
に変更しています。
Restore mpeg mime type, delete less common mime types
actionpack/lib/action_dispatch/http/mime_types.rb
の修正です。
Merge pull request #31251 from rails/preload_link_tagで追加されたmime typeのうち、あまりまだ一般的ではないと思われるmime type(application/ogx
やaudio/mpeg
等)を削除しています。
一度Rails本体に入れてしまうととずっとそのmime typeをメンテする必要がある為、そんなに使われてないmime typeまで本体に入れる必要は無いだろう、という事で削除されています。
Fix typo in mime type registering
actionpack/lib/action_dispatch/http/mime_types.rb
の修正です。
mime typeの登録処理でパーセント記法をタイポしている箇所があったのを修正しています。
Fix tests: Remove ogx mime type from tests
actionpack/test/dispatch/mime_type_test.rb
の修正です。
Restore mpeg mime type, delete less common mime typesの修正の影響で壊れたテストがあったのを修正しています。
Mention about Ruby 2.4 Unicode case mappings in mb_chars
example [ci skip] (#31275)
activesupport/lib/active_support/core_ext/string/multibyte.rb
のdocの修正です。
[ci skip] Correct output for Upcaseをrevert、及び、String#mb_chars
メソッドのdocに、Ruby 2.4より前のバージョンで有効なexampleである旨説明を追加しています。
Merge pull request #31272 from y-yagi/use_credentials_instead_of_keyfile_in_gcs
activestorage/lib/active_storage/service/gcs_service.rb
、
railties/lib/rails/generators/rails/app/templates/config/storage.yml.tt
の修正です
Active StorageでGoogle Cloud Storageを使用する際、アカウントキーを指定するキーワードにkeyfile
を使用していたのを、credentials
を使用するよう修正しています。
-# keyfile: <%%= Rails.root.join("path/to/gcs.keyfile") %> +# credentials: <%%= Rails.root.join("path/to/gcs.keyfile") %>
google-cloud-storage
1.8.0からcredentials
が使用するのが推奨されるようになった為。