Module: SurrealDB::Protocol::Response
- Defined in:
- lib/surrealdb/protocol/response.rb
Overview
Parses RPC responses and extracts results or raises appropriate errors.
Class Method Summary collapse
-
.extract_result(data) ⇒ Object
Extracts the result from a decoded RPC response, raising on error.
Class Method Details
.extract_result(data) ⇒ Object
Extracts the result from a decoded RPC response, raising on error.
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/surrealdb/protocol/response.rb', line 15 def extract_result(data) raise ProtocolError, "malformed response: expected Hash, got #{data.class}" unless data.is_a?(Hash) err = data['error'] if err && !err.is_a?(SurrealDB::None) && !err.equal?(SurrealDB::NONE) raise_server_error(err) elsif data.key?('result') data['result'] else raise ProtocolError, "response missing both 'result' and 'error' keys" end end |