2017/01/05分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
No need to :doc: a public method
actionpack/lib/action_controller/metal/redirecting.rb
のdocの修正です。
ActionController::Redirecting#redirect_to
メソッドから:doc:
を削除しています。redirect_to
メソッドはpublicメソッドであり、:doc:
は不要な為。
activesupport/lib/active_support/core_ext/string/inflections.rb
、
activesupport/lib/active_support/inflector/methods.rb
のdocの修正です。
ActiveSupport::Inflector::Inflections
のmodule名が誤っていた箇所を修正しています。
String#end_with? should be faster than Regexp here
actionpack/lib/action_dispatch/testing/assertions.rb
の修正です。
ActionDispatch::Assertions#html_document
メソッドでcontent typeの最後がxml
で終わっているかどうか確認するのに正規表現を使用していたのを、String#end_with?
メソッドを使用するよう修正しています。String#end_with?
の方が早い為。
Merge pull request #27446 from zachahn/asset-hash-md5-to-sha256
rails guideのThe Asset Pipeline
の修正です。
Sprockets 3系ではdigestの生成にMD5ではなくSHA256を使用するようになったのですが、guide内の説明がMD5を使用している、という内容のままになっていたので、SHA256を使用している旨説明及びexampleを修正しています。
Require "models/post" before "models/comment"
activerecord/test/cases/calculations_test.rb
、
activerecord/test/cases/fixtures_test.rb
の修正です。
テスト用modelファイルの読み込み順を調整(models/post
をmodels/comment
より先に読み込むよう対応)しています。
テストの読み込み順によりfailになってしまうテストがある為、との事です。Post
クラスの方が先に読み込まれてないと、associationが正しく認識されないからですかねえ。
Fix typo in asset_pipeline.md [ci skip]
rails guideのThe Asset Pipeline
の修正です。
sprockets
-> Sprockets
に修正及びグラマーの修正を行っています。
Merge pull request #27549 from mpugach/consider_params_in_current_page
actionview/lib/action_view/helpers/url_helper.rb
の修正です。
current_page?
メソッドにparameterのチェックまで行うかどうかを指定する為のcheck_parameters
オプションを追加しています。名前の通りで、true
を指定した場合parameterまで一致しているかどうかチェックを行うようになっています。
# 現在のページが`http://www.example.com/shop/checkout?order=desc&page=1`だった場合 current_page?('http://www.example.com/shop/checkout') # => true current_page?( 'http://www.example.com/shop/checkout', check_parameters: true ) # => false
Merge pull request #26480 from tbrisker/fix-26461
activesupport/lib/active_support/core_ext/module/attribute_accessors.rb
のdocの修正です。
mattr_reader
、mattr_writer
、mattr_accessor
メソッドのdocに、mattr_xxxメソッドで作成されるメソッドの可視性はpublicになる旨説明を追加しています。
Make sure we generate keys that can be used with the cipher
activesupport/lib/active_support/message_encryptor.rb
のdocの修正です。
ActiveSupport::MessageEncryptor
クラスのdocにあるexampleの#generate_key
メソッドを使用している箇所で、key sizeを指定するよう修正しています。
- # key = ActiveSupport::KeyGenerator.new('password').generate_key(salt) # => "\x89\xE0\x156\xAC..." + # key = ActiveSupport::KeyGenerator.new('password').generate_key(salt, 32) # => "\x89\xE0\x156\xAC..."
Railsのverification/signingはデフォルトではaes-256-cbcが使われている、かつ、Ruby 2.4からkey sizeを厳密に見るようになり、必要なkey sizeより大きい値を指定するとエラーになるようになった為。
Optimizing information_schema query for foreign_keys
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
の修正です。
information_schema.referential_constraints
から情報を取得する際に、テーブル名を指定するよう修正しています。
WHERE fk.referenced_column_name IS NOT NULL
AND fk.table_schema = #{quote(schema)}
AND fk.table_name = #{quote(name)}
+ AND rc.table_name = #{quote(name)}
テーブル名の指定が無い場合、database全てのscanが発生してしまう為、との事です。
参考:MySQL :: MySQL 5.7 Reference Manual :: 9.2.4 Optimizing INFORMATION_SCHEMA Queries
各テストファイルでrubocopのstyle指定に違反している箇所があったのを修正しています(シングルクォート->ダブルクォートに修正、不要なスペースの削除等)。
Gemfile.lock
の修正です。
sqlite3のバージョンを1.3.12
から1.3.13
に更新しています。
This method is never called since 8e633e505880755e7e366ccec2210bbe2b5436e7
activerecord/lib/active_record/attribute_methods.rb
の修正です。
使用していないclone_attribute_value
メソッドを削除しています。k
.travis.yml
の修正です。
CIで使用するJRubyのバージョンを9.1.6.0
に更新しています。
self.
is not needed when calling its own instance method
インスタンスメソッドを呼び出すのに不要なself
を指定してる箇所があったのをまとめて削除しています。
Privatize unneededly protected methods in Active Record
Active Recordで、protected
を使用しているが、protected
である必要が無いメソッドの可視性をprivate
に変更しています。