diff options
author | Myron Marston <myron.marston@gmail.com> | 2010-06-23 19:59:38 -0700 |
---|---|---|
committer | Myron Marston <myron.marston@gmail.com> | 2010-06-23 20:00:49 -0700 |
commit | 662b99528218ba7b86d45652438404012f8c4b07 (patch) | |
tree | ab791e2ddd2868270ed8e37ed1f4773fb121a16f | |
parent | 93708c2056089dce298ae3d87de87d2625164978 (diff) | |
download | rails-662b99528218ba7b86d45652438404012f8c4b07.tar.gz rails-662b99528218ba7b86d45652438404012f8c4b07.tar.bz2 rails-662b99528218ba7b86d45652438404012f8c4b07.zip |
Allow externally defined AR adapters to define their own compiler.
-rw-r--r-- | lib/arel/engines/sql/relations/table.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/arel/engines/sql/relations/table.rb b/lib/arel/engines/sql/relations/table.rb index 7940fd781f..f09457f65a 100644 --- a/lib/arel/engines/sql/relations/table.rb +++ b/lib/arel/engines/sql/relations/table.rb @@ -20,10 +20,16 @@ module Arel if @engine.connection begin require "arel/engines/sql/compilers/#{@engine.adapter_name.downcase}_compiler" - @@tables ||= engine.tables rescue LoadError - raise "#{@engine.adapter_name} is not supported by Arel." + begin + # try to load an externally defined compiler, in case this adapter has defined the compiler on its own. + require "#{@engine.adapter_name.downcase}/arel_compiler" + rescue LoadError + raise "#{@engine.adapter_name} is not supported by Arel." + end end + + @@tables ||= engine.tables end end |