X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f980e7e4a61e11e73406ed236398904a9ee2b30b..8af14faa49deed681fa835dd6bd3f77316b44a55:/config/initializers/abstract_adapter.rb?ds=sidebyside diff --git a/config/initializers/abstract_adapter.rb b/config/initializers/abstract_adapter.rb index 5cc24d25c..9042823c2 100644 --- a/config/initializers/abstract_adapter.rb +++ b/config/initializers/abstract_adapter.rb @@ -1,24 +1,26 @@ -module ActiveRecord - module ConnectionAdapters - class AbstractAdapter - protected - alias_method :old_log, :log - - def log(sql, name) - if block_given? - old_log(sql, name) do - yield +if defined?(ActionRecord::ConnectionAdaptors::AbstractAdaptor) + module ActiveRecord + module ConnectionAdapters + class AbstractAdapter + protected + alias_method :old_log, :log + + def log(sql, name) + if block_given? + old_log(sql, name) do + yield + end + else + old_log(sql, name) + end + rescue ActiveRecord::StatementInvalid => ex + if ex.message =~ /^OSM::APITimeoutError: / + raise OSM::APITimeoutError.new + elsif ex.message =~ /^Timeout::Error: / + raise Timeout::Error.new("time's up!") + else + raise end - else - old_log(sql, name) - end - rescue ActiveRecord::StatementInvalid => ex - if ex.message =~ /^OSM::APITimeoutError: / - raise OSM::APITimeoutError.new - elsif ex.message =~ /^Timeout::Error: / - raise Timeout::Error.new("time's up!") - else - raise end end end