diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-08-22 14:13:10 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-08-22 14:13:10 -0700 |
commit | 744ed5c39381cb3e58eba6fab21f42b3408dce53 (patch) | |
tree | 6199b7e3735dc84917749cf68b9ed43170a1f53f /activerecord | |
parent | 998d9c89e42d41f99b1970ce229cc4b818db3680 (diff) | |
parent | 646bfe1a5e7b30863e5ab8a5927246be3a69ed3b (diff) | |
download | rails-744ed5c39381cb3e58eba6fab21f42b3408dce53.tar.gz rails-744ed5c39381cb3e58eba6fab21f42b3408dce53.tar.bz2 rails-744ed5c39381cb3e58eba6fab21f42b3408dce53.zip |
Merge pull request #11971 from freerunningtechnologies/dynamic_respond_to
Performance regression in AR::Base.respond_to?
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/dynamic_matchers.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/finder_respond_to_test.rb | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/dynamic_matchers.rb b/activerecord/lib/active_record/dynamic_matchers.rb index 3bac31c6aa..e650ebcf64 100644 --- a/activerecord/lib/active_record/dynamic_matchers.rb +++ b/activerecord/lib/active_record/dynamic_matchers.rb @@ -35,7 +35,7 @@ module ActiveRecord end def pattern - /^#{prefix}_([_a-zA-Z]\w*)#{suffix}$/ + @pattern ||= /\A#{prefix}_([_a-zA-Z]\w*)#{suffix}\Z/ end def prefix diff --git a/activerecord/test/cases/finder_respond_to_test.rb b/activerecord/test/cases/finder_respond_to_test.rb index 6101eb7b68..3ff22f222f 100644 --- a/activerecord/test/cases/finder_respond_to_test.rb +++ b/activerecord/test/cases/finder_respond_to_test.rb @@ -21,6 +21,11 @@ class FinderRespondToTest < ActiveRecord::TestCase assert_respond_to Topic, :find_by_title end + def test_should_respond_to_find_by_with_bang + ensure_topic_method_is_not_cached(:find_by_title!) + assert_respond_to Topic, :find_by_title! + end + def test_should_respond_to_find_by_two_attributes ensure_topic_method_is_not_cached(:find_by_title_and_author_name) assert_respond_to Topic, :find_by_title_and_author_name |