openstreetmap-website/config/initializers/abstract_adapter.rb
2016-01-19 09:51:24 +00:00

29 lines
708 B
Ruby

if defined?(ActiveRecord::ConnectionAdaptors::AbstractAdapter)
module ActiveRecord
module ConnectionAdapters
class AbstractAdapter
protected
alias 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
end
end
end
end
end