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