2017/04/26分のコミットです。
CHANGELOGへの追加はありませんでした。
activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
のdocの修正です。
ConnectionHandler
クラスのdocのグラマーの修正を行っています。
Merge pull request #28853 from kamipo/replace_regexp_z
各テストの正規表現で終端チェックに\Z
を使っていた箇所を、まとめて\z
に修正しています。 恐らく\Z
を指定していたのは誤りだと思われる為、まとめて修正したとのことです。
Merge pull request #28840 from rails/sane-sdoc
Gemfile
の修正です。
sdoc
のバージョンが1.0.0.rc1
に固定されていたのを、ロックの条件を緩めて("> 1.0.0.rc1", "< 2.0"
)います。
Fix MigratorTest#test_migrator_verbosity
activerecord/test/cases/migrator_test.rb
の修正です。
ActiveRecord::Migration.verbose
をtrueにした場合の挙動についてのテストで、明示的にActiveRecord::Migration.verbose
にtrueを設定するよう修正しています。テスト全体を実行した場合は問題無かったのですが、テストを単体で実行した場合にテストが通らなかった為。ようは偶々通っていた。
Merge pull request #28831 from kamipo/respond_to_missing_should_be_private
respond_to_missing?
メソッドの可視性がpublic
になってしまっている箇所があったのを、まとめてprivate
に修正しています。
Merge pull request #28828 from kamipo/fix_extending_modules_on_association
activerecord/lib/active_record/associations/collection_proxy.rb
、
activerecord/lib/active_record/relation/delegation.rb
の修正です。
association extensionsを使用してassociation proxyにメソッドを追加、かつ、同名のメソッドがすでにmodelに存在していた場合に、association proxyに追加した方のメソッドが呼ばれないバグがあったのを修正しています。
issueより。
require 'bundler/setup' require "active_record" require "minitest/autorun" require "logger" # This connection will do for database-independent bug reports. ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:") ActiveRecord::Base.logger = Logger.new(STDOUT) ActiveRecord::Schema.define do create_table :posts, force: true do |t| end create_table :comments, force: true do |t| t.integer :post_id end end module Foo def find_by_foo(name) end end class Post < ActiveRecord::Base has_many :comments, extend: Foo end class Comment < ActiveRecord::Base belongs_to :post def self.find_by_foo(post, name) post.comments.find_by_foo(name) end end class BugTest < Minitest::Test def test_association_stuff post = Post.create! post.comments << Comment.create! assert_nil post.comments.find_by_foo("A") end end
上記のようなコードがあった場合に、Foo#find_by_foo
ではなく、Comment.find_by_foo
が呼ばれてしまう、というバグです。むずい。
Describe the changes in transactional tests
rails guideのRuby on Rails 5.1 Release Notes
の修正です。
Incompatibilities
の項を追加し、Transactional testsでは異なるスレッド間で同じARのconnectionが使われるようになった対応について説明を追加しています。
Merge pull request #28839 from y-yagi/fix-yarn-exit-status
railties/lib/rails/generators/rails/app/templates/bin/yarn
の修正です。
yarnpkg
コマンド実行時にyarnpkg
が見つからない場合、exit statusに1を返すよう修正しています。