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を返すよう修正しています。