class DDP::Server::RethinkDB::API

Helper class that users can extend to implement an API that can be passed as the RPC API parameter to the RethinkDB DDP protocol

Attributes

database_name[RW]

Public Class Methods

new(config) click to toggle source
Calls superclass method
# File lib/ddp/server/rethinkdb/api.rb, line 14
def initialize(config)
        super()

        @config = config
        @database_name = config[:database]

        setup_connection_pool
end

Public Instance Methods

database() click to toggle source
# File lib/ddp/server/rethinkdb/api.rb, line 23
def database
        ::RethinkDB::RQL.new.db(@database_name)
end
new_connection() click to toggle source
# File lib/ddp/server/rethinkdb/api.rb, line 37
def new_connection
        ::RethinkDB::Connection.new(
                host: @config[:host],
                port: @config[:port]
        )
end
table(name) click to toggle source
# File lib/ddp/server/rethinkdb/api.rb, line 27
def table(name)
        database.table(name)
end
with_connection() { |conn| ... } click to toggle source
# File lib/ddp/server/rethinkdb/api.rb, line 31
def with_connection
        @connection_pool.with do |conn|
                yield conn
        end
end

Private Instance Methods

setup_connection_pool() click to toggle source
# File lib/ddp/server/rethinkdb/api.rb, line 46
def setup_connection_pool
        @connection_pool = ConnectionPool.new(
                size:    @config[:connection_pool_size],
                timeout: @config[:connection_pool_timeout]
        ) do
                new_connection
        end
end