badgeville_berlin 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: BadgevilleBerlin::BaseResource
8
8
 
9
- &mdash; Documentation by YARD 0.7.1
9
+ &mdash; Documentation by YARD 0.8.2.1
10
10
 
11
11
  </title>
12
12
 
@@ -15,10 +15,12 @@
15
15
  <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- relpath = '..';
19
- if (relpath != '') relpath += '/';
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
20
21
  </script>
21
22
 
23
+
22
24
  <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
25
 
24
26
  <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
@@ -26,36 +28,41 @@
26
28
 
27
29
  </head>
28
30
  <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
31
  <div id="header">
34
32
  <div id="menu">
35
33
 
36
- <a href="../_index.html">Index (B)</a> &raquo;
34
+ <a href="../_index.html">Index (B)</a> &raquo;
37
35
  <span class='title'><span class='object_link'><a href="../BadgevilleBerlin.html" title="BadgevilleBerlin (module)">BadgevilleBerlin</a></span></span>
38
36
  &raquo;
39
37
  <span class="title">BaseResource</span>
40
38
 
41
-
39
+
42
40
  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
41
  </div>
44
42
 
45
43
  <div id="search">
46
44
 
47
- <a id="class_list_link" href="#">Class List</a>
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
48
49
 
49
- <a id="method_list_link" href="#">Method List</a>
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
50
54
 
51
- <a id="file_list_link" href="#">File List</a>
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
52
59
 
53
60
  </div>
54
61
  <div class="clear"></div>
55
62
  </div>
56
-
63
+
57
64
  <iframe id="search_frame"></iframe>
58
-
65
+
59
66
  <div id="content"><h1>Class: BadgevilleBerlin::BaseResource
60
67
 
61
68
 
@@ -89,7 +96,7 @@
89
96
 
90
97
 
91
98
  <dt class="r2 last">Defined in:</dt>
92
- <dd class="r2 last">lib/badgeville-berlin/base_resource.rb</dd>
99
+ <dd class="r2 last">lib/badgeville_berlin/base_resource.rb</dd>
93
100
 
94
101
  </dl>
95
102
  <div class="clear"></div>
@@ -105,20 +112,33 @@ Subclasses ActiveResource::Base as BaseResource
105
112
  </div>
106
113
  <div class="tags">
107
114
 
115
+
108
116
  </div><div id="subclasses">
109
117
  <h2>Direct Known Subclasses</h2>
110
- <p class="children"><span class='object_link'><a href="Activity.html" title="BadgevilleBerlin::Activity (class)">Activity</a></span>, <span class='object_link'><a href="ActivityDefinition.html" title="BadgevilleBerlin::ActivityDefinition (class)">ActivityDefinition</a></span>, <span class='object_link'><a href="Config.html" title="BadgevilleBerlin::Config (class)">Config</a></span>, <span class='object_link'><a href="Group.html" title="BadgevilleBerlin::Group (class)">Group</a></span>, <span class='object_link'><a href="Leaderboard.html" title="BadgevilleBerlin::Leaderboard (class)">Leaderboard</a></span>, <span class='object_link'><a href="Player.html" title="BadgevilleBerlin::Player (class)">Player</a></span>, <span class='object_link'><a href="Reward.html" title="BadgevilleBerlin::Reward (class)">Reward</a></span>, <span class='object_link'><a href="RewardDefinition.html" title="BadgevilleBerlin::RewardDefinition (class)">RewardDefinition</a></span>, <span class='object_link'><a href="Site.html" title="BadgevilleBerlin::Site (class)">Site</a></span>, <span class='object_link'><a href="Track.html" title="BadgevilleBerlin::Track (class)">Track</a></span>, <span class='object_link'><a href="User.html" title="BadgevilleBerlin::User (class)">User</a></span></p>
118
+ <p class="children"><span class='object_link'><a href="Activity.html" title="BadgevilleBerlin::Activity (class)">Activity</a></span>, <span class='object_link'><a href="ActivityDefinition.html" title="BadgevilleBerlin::ActivityDefinition (class)">ActivityDefinition</a></span>, <span class='object_link'><a href="Config.html" title="BadgevilleBerlin::Config (class)">Config</a></span>, <span class='object_link'><a href="Group.html" title="BadgevilleBerlin::Group (class)">Group</a></span>, <span class='object_link'><a href="Leaderboard.html" title="BadgevilleBerlin::Leaderboard (class)">Leaderboard</a></span>, <span class='object_link'><a href="Player.html" title="BadgevilleBerlin::Player (class)">Player</a></span>, <span class='object_link'><a href="Reward.html" title="BadgevilleBerlin::Reward (class)">Reward</a></span>, <span class='object_link'><a href="RewardDefinition.html" title="BadgevilleBerlin::RewardDefinition (class)">RewardDefinition</a></span>, <span class='object_link'><a href="Site.html" title="BadgevilleBerlin::Site (class)">Site</a></span>, <span class='object_link'><a href="Team.html" title="BadgevilleBerlin::Team (class)">Team</a></span>, <span class='object_link'><a href="Track.html" title="BadgevilleBerlin::Track (class)">Track</a></span>, <span class='object_link'><a href="User.html" title="BadgevilleBerlin::User (class)">User</a></span></p>
111
119
  </div>
112
120
 
113
-
121
+ <h2>Constant Summary</h2>
122
+
123
+ <dl class="constants">
124
+
125
+ <dt id="COMPLEX_ATTRIBUTES-constant" class="">COMPLEX_ATTRIBUTES =
126
+
127
+ </dt>
128
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='rbracket'>]</span></pre></dd>
129
+
130
+ </dl>
114
131
 
115
132
 
116
133
 
117
-
134
+
135
+
136
+
137
+
118
138
 
119
139
 
120
140
  <h2>
121
- Class Method Summary
141
+ Instance Method Summary
122
142
  <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
123
143
  </h2>
124
144
 
@@ -127,7 +147,7 @@ Subclasses ActiveResource::Base as BaseResource
127
147
  <li class="public ">
128
148
  <span class="summary_signature">
129
149
 
130
- <a href="#primary_key-class_method" title="primary_key (class method)">+ (String) <strong>primary_key</strong> </a>
150
+ <a href="#customize_keys_for_request-instance_method" title="#customize_keys_for_request (instance method)">- (Object) <strong>customize_keys_for_request</strong>(attrs) </a>
131
151
 
132
152
 
133
153
 
@@ -138,25 +158,45 @@ Subclasses ActiveResource::Base as BaseResource
138
158
 
139
159
 
140
160
 
161
+
141
162
 
142
163
 
143
164
  <span class="summary_desc"><div class='inline'><p>
144
- Overrides the ActiveResource class method primary_key to be
145
- &#8216;_id&#8217; instead of &#8216;id.&#8217;.
165
+ Enables revising Berlin JSON response key names to match what is expected
166
+ by model-level logic.
146
167
  </p>
147
168
  </div></span>
148
169
 
149
170
  </li>
150
171
 
151
172
 
152
- </ul>
173
+ <li class="public ">
174
+ <span class="summary_signature">
175
+
176
+ <a href="#encode-instance_method" title="#encode (instance method)">- (Object) <strong>encode</strong>(options = {}) </a>
177
+
178
+
179
+
180
+ </span>
181
+
182
+
183
+
184
+
185
+
186
+
153
187
 
154
- <h2>
155
- Instance Method Summary
156
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
157
- </h2>
158
188
 
159
- <ul class="summary">
189
+
190
+ <span class="summary_desc"><div class='inline'><p>
191
+ Overrides encode call to prevent to_json from converting non-valid type
192
+ objects to nested-json hash (e.g.
193
+ BadgevilleBerlin::ActivityDefinition::Selector) to allow for 200 OK
194
+ response on PUT.
195
+ </p>
196
+ </div></span>
197
+
198
+ </li>
199
+
160
200
 
161
201
  <li class="public ">
162
202
  <span class="summary_signature">
@@ -172,6 +212,7 @@ Overrides the ActiveResource class method primary_key to be
172
212
 
173
213
 
174
214
 
215
+
175
216
 
176
217
 
177
218
  <span class="summary_desc"><div class='inline'><p>
@@ -181,6 +222,55 @@ ActiveResource::Errors constructor.
181
222
  </p>
182
223
  </div></span>
183
224
 
225
+ </li>
226
+
227
+
228
+ <li class="public ">
229
+ <span class="summary_signature">
230
+
231
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (BaseResource) <strong>initialize</strong>(attributes = {}, persisted = false) </a>
232
+
233
+
234
+
235
+ </span>
236
+
237
+
238
+ <span class="note title constructor">constructor</span>
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ <span class="summary_desc"><div class='inline'><p>
248
+ A new instance of BaseResource.
249
+ </p>
250
+ </div></span>
251
+
252
+ </li>
253
+
254
+
255
+ <li class="public ">
256
+ <span class="summary_signature">
257
+
258
+ <a href="#load-instance_method" title="#load (instance method)">- (Object) <strong>load</strong>(attributes, remove_root = false) </a>
259
+
260
+
261
+
262
+ </span>
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+ <span class="summary_desc"><div class='inline'></div></span>
273
+
184
274
  </li>
185
275
 
186
276
 
@@ -198,15 +288,38 @@ ActiveResource::Errors constructor.
198
288
 
199
289
 
200
290
 
291
+
201
292
 
202
293
 
203
294
  <span class="summary_desc"><div class='inline'><p>
204
- Overrides the ActiveResource isntance method in module Validations in order
295
+ Overrides the ActiveResource instance method in module Validations in order
205
296
  to load_remote_errors() for the case where the format is the custom
206
297
  BadgevilleJson format.
207
298
  </p>
208
299
  </div></span>
209
300
 
301
+ </li>
302
+
303
+
304
+ <li class="public ">
305
+ <span class="summary_signature">
306
+
307
+ <a href="#sanitize_request-instance_method" title="#sanitize_request (instance method)">- (Object) <strong>sanitize_request</strong> </a>
308
+
309
+
310
+
311
+ </span>
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+ <span class="summary_desc"><div class='inline'></div></span>
322
+
210
323
  </li>
211
324
 
212
325
 
@@ -214,49 +327,105 @@ BadgevilleJson format.
214
327
 
215
328
 
216
329
 
330
+ <div id="constructor_details" class="method_details_list">
331
+ <h2>Constructor Details</h2>
332
+
333
+ <div class="method_details first">
334
+ <h3 class="signature first" id="initialize-instance_method">
335
+
336
+ - (<tt><span class='object_link'><a href="" title="BadgevilleBerlin::BaseResource (class)">BaseResource</a></span></tt>) <strong>initialize</strong>(attributes = {}, persisted = false)
217
337
 
218
338
 
219
- <div id="class_method_details" class="method_details_list">
220
- <h2>Class Method Details</h2>
221
-
339
+
340
+
341
+
342
+ </h3><div class="docstring">
343
+ <div class="discussion">
344
+ <p>
345
+ A new instance of BaseResource
346
+ </p>
347
+
348
+
349
+ </div>
350
+ </div>
351
+ <div class="tags">
352
+
353
+
354
+ </div><table class="source_code">
355
+ <tr>
356
+ <td>
357
+ <pre class="lines">
358
+
359
+
360
+ 9
361
+ 10
362
+ 11
363
+ 12
364
+ 13
365
+ 14
366
+ 15</pre>
367
+ </td>
368
+ <td>
369
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 9</span>
370
+
371
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='id identifier rubyid_persisted'>persisted</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
372
+ <span class='comment'>#we return a nested JSON response with player rewards keyed off of mongo id's
373
+ </span> <span class='comment'>#on groups endpoint which causes activeresource to break when looking up a
374
+ </span> <span class='comment'>#physical id as an attribute on an activeresource model. fix:
375
+ </span> <span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>rewards</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>rewards</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:values</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>BadgevilleBerlin::Group</span><span class='tstring_end'>&quot;</span></span>
376
+ <span class='kw'>super</span>
377
+ <span class='kw'>end</span></pre>
378
+ </td>
379
+ </tr>
380
+ </table>
381
+ </div>
382
+
383
+ </div>
384
+
385
+
386
+ <div id="instance_method_details" class="method_details_list">
387
+ <h2>Instance Method Details</h2>
388
+
222
389
 
223
390
  <div class="method_details first">
224
- <p class="signature first" id="primary_key-class_method">
391
+ <h3 class="signature first" id="customize_keys_for_request-instance_method">
392
+
393
+ - (<tt>Object</tt>) <strong>customize_keys_for_request</strong>(attrs)
225
394
 
226
- + (<tt>String</tt>) <strong>primary_key</strong>
395
+
227
396
 
228
397
 
229
398
 
230
- </p><div class="docstring">
399
+ </h3><div class="docstring">
231
400
  <div class="discussion">
232
401
  <p>
233
- Overrides the ActiveResource class method primary_key to be
234
- &#8216;_id&#8217; instead of &#8216;id.&#8217;
402
+ Enables revising Berlin JSON response key names to match what is expected
403
+ by model-level logic. (e.g. Berlin JSON payload returns the player&#8217;s
404
+ nickname under the key :nick_name, but the Player model expects it as
405
+ :nickname without the underscore.)
406
+ </p>
407
+ <p>
408
+ :nickname.
235
409
  </p>
236
410
 
237
411
 
238
412
  </div>
239
413
  </div>
240
414
  <div class="tags">
241
- <h3>Returns:</h3>
242
- <ul class="return">
243
415
 
244
- <li>
245
-
246
-
247
- <span class='type'>(<tt>String</tt>)</span>
248
-
249
-
416
+ <div class="examples">
417
+ <p class="tag_title">Examples:</p>
418
+
250
419
 
251
- &mdash;
252
- <div class='inline'><p>
253
- primary key name &#8216;_id&#8217;
420
+ <p class="example_title"><div class='inline'><p>
421
+ Rewrites the BadgevilleBerlin::Player :nick_name key as
254
422
  </p>
255
- </div>
423
+ </div></p>
256
424
 
257
- </li>
258
-
259
- </ul>
425
+ <pre class="example code"></pre>
426
+
427
+ </div>
428
+
260
429
 
261
430
  </div><table class="source_code">
262
431
  <tr>
@@ -264,35 +433,96 @@ primary key name &#8216;_id&#8217;
264
433
  <pre class="lines">
265
434
 
266
435
 
267
- 13
268
- 14
269
- 15</pre>
436
+ 62
437
+ 63
438
+ 64
439
+ 65
440
+ 66
441
+ 67
442
+ 68
443
+ 69
444
+ 70
445
+ 71
446
+ 72
447
+ 73</pre>
270
448
  </td>
271
449
  <td>
272
- <pre class="code"><span class="info file"># File 'lib/badgeville-berlin/base_resource.rb', line 13</span>
273
-
274
- <span class='kw'>def</span> <span class='id primary_key'>primary_key</span>
275
- <span class='ivar'>@primary_key</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>_id</span><span class='tstring_end'>'</span></span>
450
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 62</span>
451
+
452
+ <span class='kw'>def</span> <span class='id identifier rubyid_customize_keys_for_request'>customize_keys_for_request</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
453
+ <span class='comment'># The given resource type determined by self.class. For each attribute key
454
+ </span> <span class='comment'># in the ActiveResource object that needs renaming, replace the original
455
+ </span> <span class='comment'># hash key with the revised hash key as specified in the resource type
456
+ </span> <span class='comment'># -specific constant CUSTOM_ATTRS_FOR_REQUEST.
457
+ </span> <span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='op'>::</span><span class='const'>CUSTOM_REQUEST_KEYS</span><span class='rparen'>)</span>
458
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='op'>::</span><span class='const'>CUSTOM_REQUEST_KEYS</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_orig_key'>orig_key</span><span class='comma'>,</span> <span class='id identifier rubyid_revised_key'>revised_key</span><span class='op'>|</span>
459
+ <span class='id identifier rubyid_attrs'>attrs</span><span class='lbracket'>[</span><span class='id identifier rubyid_revised_key'>revised_key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_orig_key'>orig_key</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_orig_key'>orig_key</span><span class='rparen'>)</span>
460
+ <span class='kw'>end</span>
461
+ <span class='kw'>end</span>
462
+ <span class='id identifier rubyid_attrs'>attrs</span>
276
463
  <span class='kw'>end</span></pre>
277
464
  </td>
278
465
  </tr>
279
466
  </table>
280
467
  </div>
281
468
 
469
+ <div class="method_details ">
470
+ <h3 class="signature " id="encode-instance_method">
471
+
472
+ - (<tt>Object</tt>) <strong>encode</strong>(options = {})
473
+
474
+
475
+
476
+
477
+
478
+ </h3><div class="docstring">
479
+ <div class="discussion">
480
+ <p>
481
+ Overrides encode call to prevent to_json from converting non-valid type
482
+ objects to nested-json hash (e.g.
483
+ BadgevilleBerlin::ActivityDefinition::Selector) to allow for 200 OK
484
+ response on PUT
485
+ </p>
486
+
487
+
282
488
  </div>
489
+ </div>
490
+ <div class="tags">
491
+
283
492
 
284
- <div id="instance_method_details" class="method_details_list">
285
- <h2>Instance Method Details</h2>
286
-
493
+ </div><table class="source_code">
494
+ <tr>
495
+ <td>
496
+ <pre class="lines">
497
+
498
+
499
+ 79
500
+ 80
501
+ 81
502
+ 82</pre>
503
+ </td>
504
+ <td>
505
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 79</span>
506
+
507
+ <span class='kw'>def</span> <span class='id identifier rubyid_encode'>encode</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
508
+ <span class='id identifier rubyid_sanitize_request'>sanitize_request</span>
509
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>to_</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_extension'>extension</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
510
+ <span class='kw'>end</span></pre>
511
+ </td>
512
+ </tr>
513
+ </table>
514
+ </div>
287
515
 
288
- <div class="method_details first">
289
- <p class="signature first" id="errors-instance_method">
516
+ <div class="method_details ">
517
+ <h3 class="signature " id="errors-instance_method">
290
518
 
291
519
  - (<tt><span class='object_link'><a href="Errors.html" title="BadgevilleBerlin::Errors (class)">BadgevilleBerlin::Errors</a></span></tt>) <strong>errors</strong>
292
520
 
293
521
 
294
522
 
295
- </p><div class="docstring">
523
+
524
+
525
+ </h3><div class="docstring">
296
526
  <div class="discussion">
297
527
  <p>
298
528
  Overrides the ActiveResource instance method in module Validations in order
@@ -308,7 +538,8 @@ errors provided by ActiveRecord::Errors.
308
538
  </div>
309
539
  </div>
310
540
  <div class="tags">
311
- <h3>Returns:</h3>
541
+
542
+ <p class="tag_title">Returns:</p>
312
543
  <ul class="return">
313
544
 
314
545
  <li>
@@ -334,15 +565,135 @@ object that holds information about
334
565
  <pre class="lines">
335
566
 
336
567
 
568
+ 100
569
+ 101
570
+ 102</pre>
571
+ </td>
572
+ <td>
573
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 100</span>
574
+
575
+ <span class='kw'>def</span> <span class='id identifier rubyid_errors'>errors</span>
576
+ <span class='ivar'>@errors</span> <span class='op'>||=</span> <span class='const'>BadgevilleBerlin</span><span class='op'>::</span><span class='const'>Errors</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
577
+ <span class='kw'>end</span></pre>
578
+ </td>
579
+ </tr>
580
+ </table>
581
+ </div>
582
+
583
+ <div class="method_details ">
584
+ <h3 class="signature " id="load-instance_method">
585
+
586
+ - (<tt>Object</tt>) <strong>load</strong>(attributes, remove_root = false)
587
+
588
+
589
+
590
+
591
+
592
+ </h3><div class="docstring">
593
+ <div class="discussion">
594
+
595
+
596
+ </div>
597
+ </div>
598
+ <div class="tags">
599
+
600
+ <p class="tag_title">Raises:</p>
601
+ <ul class="raise">
602
+
603
+ <li>
604
+
605
+
606
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
607
+
608
+
609
+
610
+ </li>
611
+
612
+ </ul>
613
+
614
+ </div><table class="source_code">
615
+ <tr>
616
+ <td>
617
+ <pre class="lines">
618
+
619
+
620
+ 17
621
+ 18
622
+ 19
623
+ 20
624
+ 21
625
+ 22
626
+ 23
627
+ 24
337
628
  25
338
629
  26
339
- 27</pre>
630
+ 27
631
+ 28
632
+ 29
633
+ 30
634
+ 31
635
+ 32
636
+ 33
637
+ 34
638
+ 35
639
+ 36
640
+ 37
641
+ 38
642
+ 39
643
+ 40
644
+ 41
645
+ 42
646
+ 43
647
+ 44
648
+ 45
649
+ 46
650
+ 47
651
+ 48
652
+ 49
653
+ 50
654
+ 51
655
+ 52
656
+ 53</pre>
340
657
  </td>
341
658
  <td>
342
- <pre class="code"><span class="info file"># File 'lib/badgeville-berlin/base_resource.rb', line 25</span>
659
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 17</span>
660
+
661
+ <span class='kw'>def</span> <span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span> <span class='id identifier rubyid_remove_root'>remove_root</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
662
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>expected an attributes Hash, got </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
663
+ <span class='ivar'>@prefix_options</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_split_options'>split_options</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
664
+
665
+ <span class='kw'>if</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>==</span> <span class='int'>1</span>
666
+ <span class='id identifier rubyid_remove_root'>remove_root</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_element_name'>element_name</span> <span class='op'>==</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
667
+ <span class='kw'>end</span>
343
668
 
344
- <span class='kw'>def</span> <span class='id errors'>errors</span>
345
- <span class='ivar'>@errors</span> <span class='op'>||=</span> <span class='const'>BadgevilleBerlin</span><span class='op'>::</span><span class='const'>Errors</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
669
+ <span class='id identifier rubyid_attributes'>attributes</span> <span class='op'>=</span> <span class='const'>ActiveResource</span><span class='op'>::</span><span class='const'>Formats</span><span class='period'>.</span><span class='id identifier rubyid_remove_root'>remove_root</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_remove_root'>remove_root</span>
670
+
671
+ <span class='id identifier rubyid_customize_keys_for_request'>customize_keys_for_request</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
672
+ <span class='ivar'>@attributes</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span> <span class='op'>=</span>
673
+ <span class='kw'>case</span> <span class='id identifier rubyid_value'>value</span>
674
+ <span class='kw'>when</span> <span class='const'>Array</span>
675
+ <span class='id identifier rubyid_resource'>resource</span> <span class='op'>=</span> <span class='kw'>nil</span>
676
+ <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_attrs'>attrs</span><span class='op'>|</span>
677
+ <span class='kw'>if</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
678
+ <span class='id identifier rubyid_resource'>resource</span> <span class='op'>||=</span> <span class='id identifier rubyid_find_or_create_resource_for_collection'>find_or_create_resource_for_collection</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
679
+ <span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_attrs'>attrs</span><span class='rparen'>)</span>
680
+ <span class='kw'>else</span>
681
+ <span class='id identifier rubyid_attrs'>attrs</span><span class='period'>.</span><span class='id identifier rubyid_duplicable?'>duplicable?</span> <span class='op'>?</span> <span class='id identifier rubyid_attrs'>attrs</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span> <span class='op'>:</span> <span class='id identifier rubyid_attrs'>attrs</span>
682
+ <span class='kw'>end</span>
683
+ <span class='kw'>end</span>
684
+ <span class='kw'>when</span> <span class='const'>Hash</span>
685
+ <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='op'>::</span><span class='const'>COMPLEX_ATTRIBUTES</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
686
+ <span class='comment'>#if the key is selector or adjustment, as on the ActivityDefinition object, we don't want to create a nested resource
687
+ </span> <span class='id identifier rubyid_value'>value</span>
688
+ <span class='kw'>else</span>
689
+ <span class='id identifier rubyid_resource'>resource</span> <span class='op'>=</span> <span class='id identifier rubyid_find_or_create_resource_for'>find_or_create_resource_for</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
690
+ <span class='id identifier rubyid_resource'>resource</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
691
+ <span class='kw'>end</span>
692
+ <span class='kw'>else</span>
693
+ <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_duplicable?'>duplicable?</span> <span class='op'>?</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span> <span class='op'>:</span> <span class='id identifier rubyid_value'>value</span>
694
+ <span class='kw'>end</span>
695
+ <span class='kw'>end</span>
696
+ <span class='kw'>self</span>
346
697
  <span class='kw'>end</span></pre>
347
698
  </td>
348
699
  </tr>
@@ -350,16 +701,18 @@ object that holds information about
350
701
  </div>
351
702
 
352
703
  <div class="method_details ">
353
- <p class="signature " id="load_remote_errors-instance_method">
704
+ <h3 class="signature " id="load_remote_errors-instance_method">
354
705
 
355
706
  - (<tt>Object</tt>) <strong>load_remote_errors</strong>(remote_errors, save_cache = false)
356
707
 
357
708
 
358
709
 
359
- </p><div class="docstring">
710
+
711
+
712
+ </h3><div class="docstring">
360
713
  <div class="discussion">
361
714
  <p>
362
- Overrides the ActiveResource isntance method in module Validations in order
715
+ Overrides the ActiveResource instance method in module Validations in order
363
716
  to load_remote_errors() for the case where the format is the custom
364
717
  BadgevilleJson format. Loads the set of remote errors into the object???s
365
718
  Errors collection based on the content-type of the error-block received.
@@ -372,7 +725,7 @@ cleared by default
372
725
  </div>
373
726
  </div>
374
727
  <div class="tags">
375
- <h3>Parameters:</h3>
728
+ <p class="tag_title">Parameters:</p>
376
729
  <ul class="param">
377
730
 
378
731
  <li>
@@ -386,7 +739,7 @@ cleared by default
386
739
 
387
740
  &mdash;
388
741
  <div class='inline'><p>
389
- errors from teh remote server
742
+ errors from the remote server
390
743
  </p>
391
744
  </div>
392
745
 
@@ -413,34 +766,35 @@ flag that directs the errors cache to be
413
766
 
414
767
  </ul>
415
768
 
769
+
416
770
  </div><table class="source_code">
417
771
  <tr>
418
772
  <td>
419
773
  <pre class="lines">
420
774
 
421
775
 
422
- 38
423
- 39
424
- 40
425
- 41
426
- 42
427
- 43
428
- 44
429
- 45
430
- 46
431
- 47</pre>
776
+ 113
777
+ 114
778
+ 115
779
+ 116
780
+ 117
781
+ 118
782
+ 119
783
+ 120
784
+ 121
785
+ 122</pre>
432
786
  </td>
433
787
  <td>
434
- <pre class="code"><span class="info file"># File 'lib/badgeville-berlin/base_resource.rb', line 38</span>
788
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 113</span>
435
789
 
436
- <span class='kw'>def</span> <span class='id load_remote_errors'>load_remote_errors</span><span class='lparen'>(</span><span class='id remote_errors'>remote_errors</span><span class='comma'>,</span> <span class='id save_cache'>save_cache</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rparen'>)</span> <span class='comment'>#:nodoc:
437
- </span> <span class='kw'>case</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id format'>format</span>
790
+ <span class='kw'>def</span> <span class='id identifier rubyid_load_remote_errors'>load_remote_errors</span><span class='lparen'>(</span><span class='id identifier rubyid_remote_errors'>remote_errors</span><span class='comma'>,</span> <span class='id identifier rubyid_save_cache'>save_cache</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rparen'>)</span> <span class='comment'>#:nodoc:
791
+ </span> <span class='kw'>case</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_format'>format</span>
438
792
  <span class='kw'>when</span> <span class='const'>ActiveResource</span><span class='op'>::</span><span class='const'>Formats</span><span class='lbracket'>[</span><span class='symbol'>:xml</span><span class='rbracket'>]</span>
439
- <span class='id errors'>errors</span><span class='period'>.</span><span class='id from_xml'>from_xml</span><span class='lparen'>(</span><span class='id remote_errors'>remote_errors</span><span class='period'>.</span><span class='id response'>response</span><span class='period'>.</span><span class='id body'>body</span><span class='comma'>,</span> <span class='id save_cache'>save_cache</span><span class='rparen'>)</span>
793
+ <span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_from_xml'>from_xml</span><span class='lparen'>(</span><span class='id identifier rubyid_remote_errors'>remote_errors</span><span class='period'>.</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='comma'>,</span> <span class='id identifier rubyid_save_cache'>save_cache</span><span class='rparen'>)</span>
440
794
  <span class='kw'>when</span> <span class='const'>ActiveResource</span><span class='op'>::</span><span class='const'>Formats</span><span class='lbracket'>[</span><span class='symbol'>:json</span><span class='rbracket'>]</span>
441
- <span class='id errors'>errors</span><span class='period'>.</span><span class='id from_json'>from_json</span><span class='lparen'>(</span><span class='id remote_errors'>remote_errors</span><span class='period'>.</span><span class='id response'>response</span><span class='period'>.</span><span class='id body'>body</span><span class='comma'>,</span> <span class='id save_cache'>save_cache</span><span class='rparen'>)</span>
795
+ <span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_from_json'>from_json</span><span class='lparen'>(</span><span class='id identifier rubyid_remote_errors'>remote_errors</span><span class='period'>.</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='comma'>,</span> <span class='id identifier rubyid_save_cache'>save_cache</span><span class='rparen'>)</span>
442
796
  <span class='kw'>when</span> <span class='const'>ActiveResource</span><span class='op'>::</span><span class='const'>Formats</span><span class='lbracket'>[</span><span class='symbol'>:badgeville_berlin_json</span><span class='rbracket'>]</span>
443
- <span class='id errors'>errors</span><span class='period'>.</span><span class='id from_badgeville_berlin_json'>from_badgeville_berlin_json</span><span class='lparen'>(</span><span class='id remote_errors'>remote_errors</span><span class='period'>.</span><span class='id response'>response</span><span class='period'>.</span><span class='id body'>body</span><span class='comma'>,</span> <span class='id save_cache'>save_cache</span><span class='rparen'>)</span>
797
+ <span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_from_badgeville_berlin_json'>from_badgeville_berlin_json</span><span class='lparen'>(</span><span class='id identifier rubyid_remote_errors'>remote_errors</span><span class='period'>.</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='comma'>,</span> <span class='id identifier rubyid_save_cache'>save_cache</span><span class='rparen'>)</span>
444
798
  <span class='kw'>end</span>
445
799
  <span class='kw'>end</span></pre>
446
800
  </td>
@@ -448,14 +802,54 @@ flag that directs the errors cache to be
448
802
  </table>
449
803
  </div>
450
804
 
451
- </div>
805
+ <div class="method_details ">
806
+ <h3 class="signature " id="sanitize_request-instance_method">
807
+
808
+ - (<tt>Object</tt>) <strong>sanitize_request</strong>
809
+
452
810
 
811
+
812
+
813
+
814
+ </h3><table class="source_code">
815
+ <tr>
816
+ <td>
817
+ <pre class="lines">
818
+
819
+
820
+ 84
821
+ 85
822
+ 86
823
+ 87
824
+ 88
825
+ 89
826
+ 90
827
+ 91</pre>
828
+ </td>
829
+ <td>
830
+ <pre class="code"><span class="info file"># File 'lib/badgeville_berlin/base_resource.rb', line 84</span>
831
+
832
+ <span class='kw'>def</span> <span class='id identifier rubyid_sanitize_request'>sanitize_request</span>
833
+ <span class='id identifier rubyid_valid_types'>valid_types</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>String</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Fixnum</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>NilClass</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>TrueClass</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FalseClass</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ActiveSupport::HashWithIndifferentAccess</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Float</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
834
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_index'>index</span><span class='op'>|</span>
835
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_valid_types'>valid_types</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
836
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
837
+ <span class='kw'>end</span>
838
+ <span class='kw'>end</span>
839
+ <span class='kw'>end</span></pre>
840
+ </td>
841
+ </tr>
842
+ </table>
453
843
  </div>
454
844
 
845
+ </div>
846
+
847
+ </div>
848
+
455
849
  <div id="footer">
456
- Generated on Tue Jan 24 14:21:13 2012 by
850
+ Generated on Wed Jan 8 10:43:04 2014 by
457
851
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
458
- 0.7.1 (ruby-1.9.2).
852
+ 0.8.2.1 (ruby-1.9.2).
459
853
  </div>
460
854
 
461
855
  </body>