ddp-server-rethinkdb 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e76f372523591456e078fd95a1b774137318b4a7
4
- data.tar.gz: df3499b899d0cd315704883d9068642fd8b18363
3
+ metadata.gz: 3762c90b25c888a4b99e65b397456dae694fd44a
4
+ data.tar.gz: 0c0d33f7dfcf26ba39c4d9e52a681647a304bb29
5
5
  SHA512:
6
- metadata.gz: 2d52b581d92141b06b7925f8b9c326c9ebd3369754f4d3e83ad62a309ba756dc7459cb27e4e2a14fec2e2b3497f058f18ba31b8a51fb116d868defbd12a26e6d
7
- data.tar.gz: 4d38b31aa154245f0088f765cf351944ce4c7214e0cb8b7cf0687c1d50ac883af7be5c8b3344f08dc6d650408e7e3e2ae882c47df5d0a168a6bf169ddcd15b0c
6
+ metadata.gz: 50f516ea1223ac1f42a469920af571f8681e667966ab656ea4c56f1cbd97968d0fde6ec6a7b207cc1b9f0fca3d0ccb4b8d83ca218a877a286c9bbc1d3bc7d948
7
+ data.tar.gz: 812f96b5d42529d100a5629c1f3e570aabdc18f7bd84b8faeb183dac40adc079447b25a65bd19dac1de2336d5f9e0dbd731d70bce2e16fe484ce4b943f71061a
data/README.md CHANGED
@@ -16,14 +16,16 @@ class Messager < DDP::Server::RethinkDB::API
16
16
  end
17
17
  end
18
18
 
19
- def name
20
- @name ||= "Guest#{rand(10..100)}"
19
+ module RPC
20
+ def send_message(message)
21
+ with_connection do |conn|
22
+ table('messages').insert(from: name, message: message).run(conn)
23
+ end
24
+ end
21
25
  end
22
26
 
23
- def send_message(message)
24
- with_connection do |conn|
25
- table('messages').insert(from: name, message: message).run(conn)
26
- end
27
+ def name
28
+ @name ||= "Guest#{rand(10..100)}"
27
29
  end
28
30
  end
29
31
 
@@ -36,6 +38,7 @@ config = {
36
38
  }
37
39
 
38
40
  run DDP::Server::RethinkDB::WebSocket.rack(Messager, config)
41
+
39
42
  ```
40
43
 
41
44
  ## Installation
data/examples/messages.rb CHANGED
@@ -1,22 +1,26 @@
1
1
  require 'ddp/server/rethinkdb'
2
2
 
3
+ # A simple messaging API
3
4
  class Messager < DDP::Server::RethinkDB::API
4
- include Celluloid::Logger
5
-
5
+ # Define a module named Collections that exposes subscribable rethinkdb queries
6
6
  module Collections
7
7
  def messages
8
8
  table('messages')
9
9
  end
10
10
  end
11
11
 
12
- def name
13
- @name ||= "Guest#{rand(10..100)}"
12
+ # Define a module named RPC that exposes RPC methods
13
+ module RPC
14
+ def send_message(message)
15
+ with_connection do |conn|
16
+ table('messages').insert(from: name, message: message).run(conn)
17
+ end
18
+ end
14
19
  end
15
20
 
16
- def send_message(message)
17
- with_connection do |conn|
18
- table('messages').insert(from: name, message: message).run(conn)
19
- end
21
+ # Other methods are not available to RPC nor are they subscribable
22
+ def name
23
+ @name ||= "Guest#{rand(10..100)}"
20
24
  end
21
25
  end
22
26
 
@@ -2,7 +2,7 @@ module DDP
2
2
  module Server
3
3
  # Include the version
4
4
  module RethinkDB
5
- VERSION = '0.0.1'
5
+ VERSION = '0.0.2'
6
6
  end
7
7
  end
8
8
  end
@@ -13,15 +13,18 @@ module DDP
13
13
 
14
14
  attr_reader :api
15
15
 
16
- def self.rack(api, config, pool_config={})
16
+ def self.rack(api, config, pool_config = {})
17
17
  super(pool_config.merge(args: [api, config]))
18
18
  end
19
19
 
20
20
  def initialize(api_class, config)
21
21
  collections_module = api_class.const_get :Collections
22
+ rpc_module = api_class.const_get :RPC
22
23
  @collections = collections_module.instance_methods.map(&:to_s)
24
+ @rpc_methods = rpc_module.instance_methods.map(&:to_s)
23
25
  @api = api_class.new(config)
24
26
  @api.singleton_class.include collections_module
27
+ @api.singleton_class.include rpc_module
25
28
  @subscriptions = {}
26
29
  end
27
30
 
@@ -52,6 +55,7 @@ module DDP
52
55
 
53
56
  def handle_method(id, method, params)
54
57
  params ||= []
58
+ raise 'No such method' unless @rpc_methods.include? method
55
59
  result = @api.send(method, *params)
56
60
  send_result(id, result)
57
61
  rescue => e
@@ -96,6 +100,7 @@ module DDP
96
100
  include Celluloid::Logger
97
101
 
98
102
  attr_reader :name, :stopped
103
+ alias_method :stopped?, :stopped
99
104
 
100
105
  def initialize(listener, id, name, query)
101
106
  @stopped = false
@@ -115,10 +120,6 @@ module DDP
115
120
  def stop
116
121
  @stopped = true
117
122
  end
118
-
119
- def stopped?
120
- @stopped
121
- end
122
123
  end
123
124
  end
124
125
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddp-server-rethinkdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tinco Andringa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-19 00:00:00.000000000 Z
11
+ date: 2015-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler