Module: SurrealDB

Defined in:
lib/surrealdb.rb,
lib/surrealdb/client.rb,
lib/surrealdb/errors.rb,
lib/surrealdb/version.rb,
lib/surrealdb/cbor/tags.rb,
lib/surrealdb/native/ffi.rb,
lib/surrealdb/models/none.rb,
lib/surrealdb/cbor/decoder.rb,
lib/surrealdb/cbor/encoder.rb,
lib/surrealdb/models/range.rb,
lib/surrealdb/models/table.rb,
lib/surrealdb/protocol/rpc.rb,
lib/surrealdb/query_result.rb,
lib/surrealdb/configuration.rb,
lib/surrealdb/models/duration.rb,
lib/surrealdb/models/geometry.rb,
lib/surrealdb/native/platform.rb,
lib/surrealdb/connections/base.rb,
lib/surrealdb/connections/http.rb,
lib/surrealdb/models/record_id.rb,
lib/surrealdb/protocol/methods.rb,
lib/surrealdb/protocol/response.rb,
lib/surrealdb/connections/embedded.rb,
lib/surrealdb/connections/websocket.rb,
lib/surrealdb/connections/reliable_websocket.rb

Defined Under Namespace

Modules: CBOR, Connections, Native, Protocol Classes: AlreadyExistsError, BoundExcluded, BoundIncluded, Client, Configuration, ConfigurationError, ConnectionError, Duration, Error, GeometryCollection, GeometryLine, GeometryMultiLine, GeometryMultiPoint, GeometryMultiPolygon, GeometryPoint, GeometryPolygon, InternalServerError, None, NotAllowedError, NotFoundError, ProtocolError, QueryError, QueryResult, Range, RecordID, SerializationError, ServerError, Table, ThrownError, TimeoutError, UnsupportedError, ValidationError

Constant Summary collapse

VERSION =
'0.7.0'
NONE =
None.instance

Class Method Summary collapse

Class Method Details

.configurationConfiguration

Returns:



28
29
30
# File 'lib/surrealdb.rb', line 28

def configuration
  @configuration ||= Configuration.new
end

.configure {|Configuration| ... } ⇒ Object

Yields:



33
34
35
# File 'lib/surrealdb.rb', line 33

def configure
  yield configuration
end

.connect(url) ⇒ Client

Opens a connection to a SurrealDB instance.

When called with a block, the connection is automatically closed after the block returns. Without a block, the caller is responsible for calling SurrealDB::Client#close.

Parameters:

  • url (String)

    connection URL (ws://, wss://, http://, https://)

  • options (Hash)

    connection options

Returns:



46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/surrealdb.rb', line 46

def connect(url, **)
  client = Client.new(url, **)
  client.connect
  if block_given?
    begin
      yield client
    ensure
      client.close
    end
  else
    client
  end
end