]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/abstract_adapter.rb
Added new I18N string: notifier.friend_notification.hi
[rails.git] / config / initializers / abstract_adapter.rb
index 7b22a3cc6ccbd95cf5deda3203de5bbb87985d05..6bb5d10c01bcafcecf142d36fc1c8ce27543d5bd 100644 (file)
@@ -1,23 +1,20 @@
-module ActiveRecord
-  module ConnectionAdapters
-    class AbstractAdapter
-    protected
-      alias_method :old_log, :log
+if defined?(ActiveRecord::ConnectionAdaptors::AbstractAdapter)
+  module ActiveRecord
+    module ConnectionAdapters
+      class AbstractAdapter
+        protected
 
-      def log(sql, name)
-        if block_given?
-          old_log(sql, name) do
-            yield
+        alias old_log log
+
+        def translate_exception_class_with_timeout(e, sql)
+          if e.is_a?(Timeout::Error) || e.is_a?(OSM::APITimeoutError)
+            e
+          else
+            translate_exception_class_without_timeout(e, sql)
           end
-        else
-          old_log(sql, name)
-        end
-      rescue ActiveRecord::StatementInvalid => ex
-        if ex =~ /^OSM::APITimeoutError: /
-          raise OSM::APITimeoutError
-        else
-          raise
         end
+
+        alias_method_chain :translate_exception_class, :timeout
       end
     end
   end