rawjsonrpc 0.0.1 → 0.1.0

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.
Files changed (44) hide show
  1. data/README.rdoc +2 -4
  2. data/Rakefile +3 -3
  3. data/VERSION +1 -1
  4. data/doc/rdoc/README_rdoc.html +238 -0
  5. data/doc/rdoc/RawJsonRpc/ClientSock.html +244 -0
  6. data/doc/rdoc/RawJsonRpc/RawClientJsonRpc.html +387 -0
  7. data/doc/rdoc/RawJsonRpc/RawServerJsonRpc.html +310 -0
  8. data/doc/rdoc/RawJsonRpc/ServerSocket.html +290 -0
  9. data/doc/rdoc/RawJsonRpc/TCPServer.html +166 -0
  10. data/doc/rdoc/RawJsonRpc.html +174 -0
  11. data/doc/rdoc/RpcError.html +158 -0
  12. data/doc/rdoc/created.rid +6 -0
  13. data/doc/rdoc/images/brick.png +0 -0
  14. data/doc/rdoc/images/brick_link.png +0 -0
  15. data/doc/rdoc/images/bug.png +0 -0
  16. data/doc/rdoc/images/bullet_black.png +0 -0
  17. data/doc/rdoc/images/bullet_toggle_minus.png +0 -0
  18. data/doc/rdoc/images/bullet_toggle_plus.png +0 -0
  19. data/doc/rdoc/images/date.png +0 -0
  20. data/doc/rdoc/images/find.png +0 -0
  21. data/doc/rdoc/images/loadingAnimation.gif +0 -0
  22. data/doc/rdoc/images/macFFBgHack.png +0 -0
  23. data/doc/rdoc/images/package.png +0 -0
  24. data/doc/rdoc/images/page_green.png +0 -0
  25. data/doc/rdoc/images/page_white_text.png +0 -0
  26. data/doc/rdoc/images/page_white_width.png +0 -0
  27. data/doc/rdoc/images/plugin.png +0 -0
  28. data/doc/rdoc/images/ruby.png +0 -0
  29. data/doc/rdoc/images/tag_green.png +0 -0
  30. data/doc/rdoc/images/wrench.png +0 -0
  31. data/doc/rdoc/images/wrench_orange.png +0 -0
  32. data/doc/rdoc/images/zoom.png +0 -0
  33. data/doc/rdoc/index.html +92 -0
  34. data/doc/rdoc/js/darkfish.js +116 -0
  35. data/doc/rdoc/js/jquery.js +32 -0
  36. data/doc/rdoc/js/quicksearch.js +114 -0
  37. data/doc/rdoc/js/thickbox-compressed.js +10 -0
  38. data/doc/rdoc/lib/rawjsonrpc/client_rb.html +63 -0
  39. data/doc/rdoc/lib/rawjsonrpc/error_rb.html +59 -0
  40. data/doc/rdoc/lib/rawjsonrpc/server_rb.html +67 -0
  41. data/doc/rdoc/lib/rawjsonrpc_rb.html +61 -0
  42. data/doc/rdoc/rdoc.css +763 -0
  43. data/rawjsonrpc.gemspec +95 -0
  44. metadata +48 -8
@@ -0,0 +1,387 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: RawJsonRpc::RawClientJsonRpc</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="class">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="../index.html">Home</a>
25
+ <a href="../index.html#classes">Classes</a>
26
+ <a href="../index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="../lib/rawjsonrpc/client_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/rawjsonrpc/client.rb">lib/rawjsonrpc/client.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+ <div id="parent-class-section" class="section">
51
+ <h3 class="section-header">Parent</h3>
52
+
53
+ <p class="link">Object</p>
54
+
55
+ </div>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="section">
65
+ <h3 class="section-header">Methods</h3>
66
+ <ul class="link-list">
67
+
68
+ <li><a href="#method-i-get_response">#get_response</a></li>
69
+
70
+ <li><a href="#method-i-method_missing">#method_missing</a></li>
71
+
72
+ <li><a href="#method-i-notification">#notification</a></li>
73
+
74
+ <li><a href="#method-i-request">#request</a></li>
75
+
76
+ <li><a href="#method-i-send_request">#send_request</a></li>
77
+
78
+ </ul>
79
+ </div>
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="project-metadata">
86
+
87
+
88
+ <div id="fileindex-section" class="section project-section">
89
+ <h3 class="section-header">Files</h3>
90
+ <ul>
91
+
92
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
93
+
94
+ </ul>
95
+ </div>
96
+
97
+
98
+ <div id="classindex-section" class="section project-section">
99
+ <h3 class="section-header">Class/Module Index
100
+ <span class="search-toggle"><img src="../images/find.png"
101
+ height="16" width="16" alt="[+]"
102
+ title="show/hide quicksearch" /></span></h3>
103
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
104
+ <fieldset>
105
+ <legend>Quicksearch</legend>
106
+ <input type="text" name="quicksearch" value=""
107
+ class="quicksearch-field" />
108
+ </fieldset>
109
+ </form>
110
+
111
+ <ul class="link-list">
112
+
113
+ <li><a href="../RawJsonRpc.html">RawJsonRpc</a></li>
114
+
115
+ <li><a href="../RawJsonRpc/ClientSock.html">RawJsonRpc::ClientSock</a></li>
116
+
117
+ <li><a href="../RawJsonRpc/RawClientJsonRpc.html">RawJsonRpc::RawClientJsonRpc</a></li>
118
+
119
+ <li><a href="../RawJsonRpc/RawServerJsonRpc.html">RawJsonRpc::RawServerJsonRpc</a></li>
120
+
121
+ <li><a href="../RawJsonRpc/ServerSocket.html">RawJsonRpc::ServerSocket</a></li>
122
+
123
+ <li><a href="../RawJsonRpc/TCPServer.html">RawJsonRpc::TCPServer</a></li>
124
+
125
+ <li><a href="../RpcError.html">RpcError</a></li>
126
+
127
+ </ul>
128
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
129
+ </div>
130
+
131
+
132
+ </div>
133
+ </div>
134
+
135
+ <div id="documentation">
136
+ <h1 class="class">RawJsonRpc::RawClientJsonRpc</h1>
137
+
138
+ <div id="description" class="description">
139
+
140
+ <p>Implements the base class for all Clients. The class get all methode calls
141
+ generate the json data from it</p>
142
+
143
+ <p><b>Every client must implement <a
144
+ href="RawClientJsonRpc.html#method-i-get_response">get_response</a> and <a
145
+ href="RawClientJsonRpc.html#method-i-send_request">send_request</a></b>.</p>
146
+
147
+ <h1>Examples</h1>
148
+
149
+ <h2>send request</h2>
150
+
151
+ <pre>client.request(&quot;run&quot;, [1,2,3]) # calls: run params: 1 2 3
152
+ ret = client.request(&quot;attack&quot;, &quot;alpha&quot;, 1, 3.0) # calls: attack
153
+ # params &quot;alpha&quot;, 1, 3.0
154
+ # returns data into ret</pre>
155
+
156
+ <h2>send request shortcut</h2>
157
+
158
+ <pre>client.run([1,2,3])
159
+ ret = client.attack(&quot;alpha&quot;, 1, 3.0)</pre>
160
+
161
+ <h2>send notification (no return value)</h2>
162
+
163
+ <pre>client.notification(&quot;beat&quot;, [:alpha, 123], &quot;fast&quot;)</pre>
164
+
165
+ </div><!-- description -->
166
+
167
+
168
+
169
+
170
+ <div id="5Buntitled-5D" class="documentation-section">
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <!-- Methods -->
180
+
181
+ <div id="public-instance-method-details" class="method-section section">
182
+ <h3 class="section-header">Public Instance Methods</h3>
183
+
184
+
185
+ <div id="get_response-method" class="method-detail ">
186
+ <a name="method-i-get_response"></a>
187
+
188
+
189
+ <div class="method-heading">
190
+ <span class="method-name">get_response</span><span
191
+ class="method-args">()</span>
192
+ <span class="method-click-advice">click to toggle source</span>
193
+ </div>
194
+
195
+
196
+ <div class="method-description">
197
+
198
+ <p>returns the server response must be implmented</p>
199
+
200
+
201
+
202
+ <div class="method-source-code" id="get_response-source">
203
+ <pre>
204
+ <span class="ruby-comment"># File lib/rawjsonrpc/client.rb, line 52</span>
205
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_response</span>
206
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;method not overriden&quot;</span>)
207
+ <span class="ruby-keyword">end</span></pre>
208
+ </div><!-- get_response-source -->
209
+
210
+ </div>
211
+
212
+
213
+
214
+
215
+ </div><!-- get_response-method -->
216
+
217
+
218
+ <div id="method_missing-method" class="method-detail ">
219
+ <a name="method-i-method_missing"></a>
220
+
221
+
222
+ <div class="method-heading">
223
+ <span class="method-name">method_missing</span><span
224
+ class="method-args">(name, *args)</span>
225
+ <span class="method-click-advice">click to toggle source</span>
226
+ </div>
227
+
228
+
229
+ <div class="method-description">
230
+
231
+ <p>redirect calls</p>
232
+
233
+
234
+
235
+ <div class="method-source-code" id="method_missing-source">
236
+ <pre>
237
+ <span class="ruby-comment"># File lib/rawjsonrpc/client.rb, line 36</span>
238
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">name</span>, *<span class="ruby-identifier">args</span>)
239
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
240
+ <span class="ruby-identifier">request</span>(<span class="ruby-identifier">name</span>)
241
+ <span class="ruby-keyword">else</span>
242
+ <span class="ruby-identifier">request</span>(<span class="ruby-identifier">name</span>, *<span class="ruby-identifier">args</span>)
243
+ <span class="ruby-keyword">end</span>
244
+ <span class="ruby-keyword">end</span></pre>
245
+ </div><!-- method_missing-source -->
246
+
247
+ </div>
248
+
249
+
250
+
251
+
252
+ </div><!-- method_missing-method -->
253
+
254
+
255
+ <div id="notification-method" class="method-detail ">
256
+ <a name="method-i-notification"></a>
257
+
258
+
259
+ <div class="method-heading">
260
+ <span class="method-name">notification</span><span
261
+ class="method-args">(function_name, *para)</span>
262
+ <span class="method-click-advice">click to toggle source</span>
263
+ </div>
264
+
265
+
266
+ <div class="method-description">
267
+
268
+ <p>Sends a notification to server. A Notifications don’t return any value</p>
269
+
270
+
271
+
272
+ <div class="method-source-code" id="notification-source">
273
+ <pre>
274
+ <span class="ruby-comment"># File lib/rawjsonrpc/client.rb, line 65</span>
275
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">notification</span>(<span class="ruby-identifier">function_name</span>, *<span class="ruby-identifier">para</span>)
276
+ <span class="ruby-identifier">para</span> = {<span class="ruby-string">'method'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">function_name</span>, <span class="ruby-string">'params'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">para</span>, <span class="ruby-string">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">nil</span>}
277
+ .<span class="ruby-identifier">to_json</span>
278
+ <span class="ruby-identifier">send_request</span> <span class="ruby-identifier">para</span>
279
+ <span class="ruby-keyword">nil</span>
280
+ <span class="ruby-keyword">end</span></pre>
281
+ </div><!-- notification-source -->
282
+
283
+ </div>
284
+
285
+
286
+
287
+
288
+ </div><!-- notification-method -->
289
+
290
+
291
+ <div id="request-method" class="method-detail ">
292
+ <a name="method-i-request"></a>
293
+
294
+
295
+ <div class="method-heading">
296
+ <span class="method-name">request</span><span
297
+ class="method-args">(function_name, *para)</span>
298
+ <span class="method-click-advice">click to toggle source</span>
299
+ </div>
300
+
301
+
302
+ <div class="method-description">
303
+
304
+ <p>Sends a request to server return a value or raise an RpcException if server
305
+ sends an error.</p>
306
+
307
+
308
+
309
+ <div class="method-source-code" id="request-source">
310
+ <pre>
311
+ <span class="ruby-comment"># File lib/rawjsonrpc/client.rb, line 73</span>
312
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">request</span>(<span class="ruby-identifier">function_name</span>, *<span class="ruby-identifier">para</span>)
313
+ <span class="ruby-identifier">id_count</span> = <span class="ruby-identifier">id</span>
314
+ <span class="ruby-identifier">para</span> = {<span class="ruby-string">'method'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">function_name</span>, <span class="ruby-string">'params'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">para</span>, <span class="ruby-string">'id'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">id_count</span>}
315
+ .<span class="ruby-identifier">to_json</span>
316
+ <span class="ruby-identifier">send_request</span>(<span class="ruby-identifier">para</span>)
317
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get_response</span>
318
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
319
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RpcError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;empty respons&quot;</span>))
320
+ <span class="ruby-keyword">end</span>
321
+ <span class="ruby-identifier">response</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">result</span>)
322
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">response</span>[<span class="ruby-string">&quot;error&quot;</span>] <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
323
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RpcError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">response</span>[<span class="ruby-string">&quot;error&quot;</span>]))
324
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">response</span>[<span class="ruby-string">&quot;id&quot;</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">id_count</span>
325
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">RpcError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;server send wrong data.&quot;</span>))
326
+ <span class="ruby-keyword">end</span>
327
+ <span class="ruby-identifier">response</span>[<span class="ruby-string">&quot;result&quot;</span>]
328
+ <span class="ruby-keyword">end</span></pre>
329
+ </div><!-- request-source -->
330
+
331
+ </div>
332
+
333
+
334
+
335
+
336
+ </div><!-- request-method -->
337
+
338
+
339
+ <div id="send_request-method" class="method-detail ">
340
+ <a name="method-i-send_request"></a>
341
+
342
+
343
+ <div class="method-heading">
344
+ <span class="method-name">send_request</span><span
345
+ class="method-args">(para)</span>
346
+ <span class="method-click-advice">click to toggle source</span>
347
+ </div>
348
+
349
+
350
+ <div class="method-description">
351
+
352
+ <p>Send the request to server must be implmented. takes json string.</p>
353
+
354
+
355
+
356
+ <div class="method-source-code" id="send_request-source">
357
+ <pre>
358
+ <span class="ruby-comment"># File lib/rawjsonrpc/client.rb, line 58</span>
359
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">send_request</span> <span class="ruby-identifier">para</span>
360
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&quot;method not overriden&quot;</span>)
361
+ <span class="ruby-keyword">end</span></pre>
362
+ </div><!-- send_request-source -->
363
+
364
+ </div>
365
+
366
+
367
+
368
+
369
+ </div><!-- send_request-method -->
370
+
371
+
372
+ </div><!-- public-instance-method-details -->
373
+
374
+ </div><!-- 5Buntitled-5D -->
375
+
376
+
377
+ </div><!-- documentation -->
378
+
379
+ <div id="validator-badges">
380
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
381
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
382
+ Rdoc Generator</a> 2</small>.</p>
383
+ </div>
384
+
385
+ </body>
386
+ </html>
387
+