openstreetmap-website/config/initializers/abstract_adapter.rb
2010-01-13 13:41:13 +00:00

26 lines
598 B
Ruby

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
end
end
end
end