28 lines
717 B
Ruby
28 lines
717 B
Ruby
if defined?(ActiveRecord::ConnectionAdaptors::AbstractAdapter)
|
|
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
|
|
end
|