2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/no_brainer/query_runner/write_error.rb', line 2
def call(env)
write_query = NoBrainer::RQL.is_write_query?(env[:query])
@runner.call(env).tap do |result|
if write_query && (result['errors'].to_i != 0)
error_msg = result['first_error']
raise_write_error(env, error_msg)
end
end
rescue RethinkDB::RqlRuntimeError => e
raise unless write_query
error_msg = e.message.split("\nBacktrace").first
error_msg = "Non existent document" if e.message =~ /Expected type OBJECT but found NULL/
raise_write_error(env, error_msg)
end
|