diff options
author | Emilio Tagua <miloops@gmail.com> | 2010-06-24 11:29:48 -0300 |
---|---|---|
committer | Emilio Tagua <miloops@gmail.com> | 2010-06-24 11:29:48 -0300 |
commit | 5848f21c1f4a351200f4a93fef612b14a24e3ef4 (patch) | |
tree | 69e3752e3be1723a97aa163799a029226722e4ac | |
parent | d05fa0cc8da0ffa01333f8956acd4a24c9fd46be (diff) | |
download | rails-5848f21c1f4a351200f4a93fef612b14a24e3ef4.tar.gz rails-5848f21c1f4a351200f4a93fef612b14a24e3ef4.tar.bz2 rails-5848f21c1f4a351200f4a93fef612b14a24e3ef4.zip |
Performance: use blocks only when needed.
-rw-r--r-- | lib/arel/engines/sql/relations/compiler.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/arel/engines/sql/relations/compiler.rb b/lib/arel/engines/sql/relations/compiler.rb index 9684aa7d7d..dfc2489e77 100644 --- a/lib/arel/engines/sql/relations/compiler.rb +++ b/lib/arel/engines/sql/relations/compiler.rb @@ -83,8 +83,12 @@ module Arel end protected - def method_missing(method, *args, &block) - relation.send(method, *args, &block) + def method_missing(method, *args) + if block_given? + relation.send(method, *args) { |*block_args| yield(*block_args) } + else + relation.send(method, *args) + end end def build_query(*parts) |