diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-04-11 15:47:36 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-04-11 15:48:11 -0300 |
commit | c8a70660d46343d05c954c8a9b830166aa7335e9 (patch) | |
tree | a1910daaec4c5be938d71d16ccf508bab5bd8813 /activerecord/lib | |
parent | 7bb8fd2f641c3416522e647ed32a3142ccc1e01b (diff) | |
parent | 8d11fbf679e17c277ddf5bf52311f0e824ebae46 (diff) | |
download | rails-c8a70660d46343d05c954c8a9b830166aa7335e9.tar.gz rails-c8a70660d46343d05c954c8a9b830166aa7335e9.tar.bz2 rails-c8a70660d46343d05c954c8a9b830166aa7335e9.zip |
Merge branch 'rm-fix-13648'
Includes https://github.com/rails/rails/pull/14711 and some cleanup
commits.
Fixes #13648
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/association_relation.rb | 8 | ||||
-rw-r--r-- | activerecord/lib/active_record/relation.rb | 5 |
2 files changed, 10 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/association_relation.rb b/activerecord/lib/active_record/association_relation.rb index 20516bba0c..ef9650d482 100644 --- a/activerecord/lib/active_record/association_relation.rb +++ b/activerecord/lib/active_record/association_relation.rb @@ -9,6 +9,14 @@ module ActiveRecord @association end + def size + @association.size + end + + def empty? + @association.empty? + end + private def exec_queries diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb index 787f55e2e7..d1764a2bb2 100644 --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -238,7 +238,7 @@ module ActiveRecord # Returns size of the records. def size - loaded? ? @records.length : count + loaded? ? @records.length : count(:all) end # Returns true if there are no records. @@ -248,8 +248,7 @@ module ActiveRecord if limit_value == 0 true else - # FIXME: This count is not compatible with #select('authors.*') or other select narrows - c = count + c = count(:all) c.respond_to?(:zero?) ? c.zero? : c.empty? end end |