Class: DDP::Server::API
- Inherits:
-
Object
- Object
- DDP::Server::API
- Defined in:
- lib/ddp/server/api.rb
Overview
Helper class that users can extend to implement an API that can be passed as the RPC API parameter to the RethinkDB DDP protocol
Instance Method Summary collapse
- #collection_query(name, *params) ⇒ Object
-
#initialize ⇒ API
constructor
A new instance of API.
- #invoke_rpc(method, *params) ⇒ Object
-
#wrap_query(query) ⇒ Object
Implementors must override wrap_query.
Constructor Details
#initialize ⇒ API
Returns a new instance of API.
6 7 8 9 |
# File 'lib/ddp/server/api.rb', line 6 def initialize setup_rpc setup_collections end |
Instance Method Details
#collection_query(name, *params) ⇒ Object
16 17 18 19 |
# File 'lib/ddp/server/api.rb', line 16 def collection_query(name, *params) raise 'No such collection' unless @collections.include? name wrap_query(send(name, *params)) end |
#invoke_rpc(method, *params) ⇒ Object
11 12 13 14 |
# File 'lib/ddp/server/api.rb', line 11 def invoke_rpc(method, *params) raise 'No such method' unless @rpc_methods.include? method send(method, *params) end |
#wrap_query(query) ⇒ Object
Implementors must override wrap_query. The argument is a query that is to be executed the result should be a proc that yields data values to its block parameter.
23 24 25 |
# File 'lib/ddp/server/api.rb', line 23 def wrap_query(query) raise 'implement wrap query' end |