なるようになるブログ

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

rails commit log流し読み(2017/05/20)

2017/05/20分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

actionview/CHANGELOG.md


Fix warning: assigned but unused variable - timestamp

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

Integration#cache_versionメソッドで使用する変数名を誤っている箇所があったのを修正しています。


Make VALID_DIRECTIONS to Set

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

VALID_DIRECTIONS定数をArrayで保持していたのを、Setで保持するよう修正しています。

orderに使用出来る値かどうかをチェックする為に、指定された値をVALID_DIRECTIONS.include?でチェックしているのですが、Set#include?の方がArray#include?より高速な為変更したとの事です。

ベンチマーク

require "benchmark/ips"
require "set"

array = [:asc, :desc, :ASC, :DESC, "asc", "desc", "ASC", "DESC"]
set   = array.to_set
item  = "DESC"

Benchmark.ips do |x|
  x.report "array" do
    array.include?(item)
  end
  x.report "set" do
    set.include?(item)
  end
end
% ruby array_vs_set.rb
Warming up --------------------------------------
               array   188.441k i/100ms
                 set   229.531k i/100ms
Calculating -------------------------------------
               array      3.508M (± 9.0%) i/s -     17.525M in   5.043058s
                 set      5.134M (± 7.6%) i/s -     25.707M in   5.038921s

Add :json type to auto_discovery_link_tag

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

auto_discovery_link_tagメソッドに:json typeを指定出来るよう修正しています。

JSON Feed: Version 1 というのがあり、それをサポートする為との事です。


Unused variable

railties/lib/rails/generators/rails/app/app_generator.rbの修正です。

config_when_updatingメソッドから使用していない変数を削除しています。


Remove unused mismatch payload attribute

activesupport/lib/active_support/cache.rbの修正です。

使用していないmismatch payload attributeを削除しています。


Update ‘Rails on Rack’ guide [ci skip]

rails guideのRails on Rackの修正です。

Inspecting Middleware Stackの項のbin/rails middlewareの実行結果を最新の内容に更新、不足していたSprockets::Rails::QuietAssets middlewareの説明を追加を行っています。