Class: SurrealDB::QueryResult
- Inherits:
-
Object
- Object
- SurrealDB::QueryResult
- Defined in:
- lib/surrealdb/query_result.rb
Overview
Wraps a single statement result from a multi-statement query. Each statement in a SurrealQL query produces a separate QueryResult with its own status, timing, result data, and optional error.
Instance Attribute Summary collapse
-
#error ⇒ String?
readonly
Error message if status is "ERR".
-
#result ⇒ Object
readonly
The statement's result data.
-
#status ⇒ String
readonly
"OK" or "ERR".
-
#time ⇒ String?
readonly
Execution time (e.g. "1.234ms").
Class Method Summary collapse
-
.from_response(data) ⇒ QueryResult
Builds a QueryResult from a server response hash.
Instance Method Summary collapse
-
#error? ⇒ Boolean
True when the statement produced an error.
-
#initialize(status:, time: nil, result: nil, error: nil) ⇒ QueryResult
constructor
A new instance of QueryResult.
- #inspect ⇒ Object
-
#ok? ⇒ Boolean
True when the statement executed without error.
Constructor Details
#initialize(status:, time: nil, result: nil, error: nil) ⇒ QueryResult
Returns a new instance of QueryResult.
20 21 22 23 24 25 |
# File 'lib/surrealdb/query_result.rb', line 20 def initialize(status:, time: nil, result: nil, error: nil) @status = status @time = time @result = result @error = error end |
Instance Attribute Details
#error ⇒ String? (readonly)
Returns error message if status is "ERR".
18 19 20 |
# File 'lib/surrealdb/query_result.rb', line 18 def error @error end |
#result ⇒ Object (readonly)
Returns the statement's result data.
15 16 17 |
# File 'lib/surrealdb/query_result.rb', line 15 def result @result end |
#status ⇒ String (readonly)
Returns "OK" or "ERR".
9 10 11 |
# File 'lib/surrealdb/query_result.rb', line 9 def status @status end |
#time ⇒ String? (readonly)
Returns execution time (e.g. "1.234ms").
12 13 14 |
# File 'lib/surrealdb/query_result.rb', line 12 def time @time end |
Class Method Details
.from_response(data) ⇒ QueryResult
Builds a QueryResult from a server response hash.
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/surrealdb/query_result.rb', line 40 def self.from_response(data) return new(status: 'OK', result: data) unless data.is_a?(Hash) && data.key?('status') new( status: data['status'], time: data['time'], result: data['result'], error: data['error'] ) end |
Instance Method Details
#error? ⇒ Boolean
Returns true when the statement produced an error.
33 34 35 |
# File 'lib/surrealdb/query_result.rb', line 33 def error? status == 'ERR' end |
#inspect ⇒ Object
51 52 53 |
# File 'lib/surrealdb/query_result.rb', line 51 def inspect "#<SurrealDB::QueryResult status=#{@status.inspect} time=#{@time.inspect}>" end |
#ok? ⇒ Boolean
Returns true when the statement executed without error.
28 29 30 |
# File 'lib/surrealdb/query_result.rb', line 28 def ok? status == 'OK' end |