aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2010-06-24 11:29:48 -0300
committerEmilio Tagua <miloops@gmail.com>2010-06-24 11:29:48 -0300
commit5848f21c1f4a351200f4a93fef612b14a24e3ef4 (patch)
tree69e3752e3be1723a97aa163799a029226722e4ac
parentd05fa0cc8da0ffa01333f8956acd4a24c9fd46be (diff)
downloadrails-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.rb8
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)