diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-07-20 14:37:53 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-07-20 14:37:53 -0700 |
commit | 692566733e4442947c6b6faa2f5a1b13940744d0 (patch) | |
tree | c93c9d3498647280a1dced4dc77973f2874ac13a /lib | |
parent | 36c8cb43ffc2d1bc217cadf4341aa4b0ea6df992 (diff) | |
download | rails-692566733e4442947c6b6faa2f5a1b13940744d0.tar.gz rails-692566733e4442947c6b6faa2f5a1b13940744d0.tar.bz2 rails-692566733e4442947c6b6faa2f5a1b13940744d0.zip |
delegate and call cached connection
Diffstat (limited to 'lib')
-rw-r--r-- | lib/arel/engines/sql/engine.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/arel/engines/sql/engine.rb b/lib/arel/engines/sql/engine.rb index 917da0e93e..07940c6ef1 100644 --- a/lib/arel/engines/sql/engine.rb +++ b/lib/arel/engines/sql/engine.rb @@ -4,10 +4,11 @@ module Arel def initialize(ar = nil) @ar = ar + @connection = nil end def connection - @ar ? @ar.connection : nil + @connection ||= @ar && @ar.connection end def adapter_name @@ -22,9 +23,9 @@ module Arel def method_missing(method, *args) if block_given? - @ar.connection.send(method, *args) { |*block_args| yield(*block_args) } + connection.send(method, *args) { |*block_args| yield(*block_args) } else - @ar.connection.send(method, *args) + connection.send(method, *args) end end |