riaction 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/.yardoc/checksums +11 -0
  2. data/.yardoc/objects/root.dat +0 -0
  3. data/.yardoc/proxy_types +0 -0
  4. data/CHANGELOG.md +5 -0
  5. data/Gemfile.lock +12 -8
  6. data/README.md +6 -1
  7. data/db/riaction.db +0 -0
  8. data/doc/Riaction/ConfigurationError.html +116 -0
  9. data/doc/Riaction/Constants.html +389 -0
  10. data/doc/Riaction/CrudEventCallback.html +402 -0
  11. data/doc/Riaction/EventPerformer.html +250 -0
  12. data/doc/Riaction/NoEventDefined.html +116 -0
  13. data/doc/Riaction/NoProfileDefined.html +116 -0
  14. data/doc/Riaction/ProfileCreationCallback.html +192 -0
  15. data/doc/Riaction/ProfileCreator.html +235 -0
  16. data/doc/Riaction/Railtie.html +116 -0
  17. data/doc/Riaction/Riaction/ClassMethods.html +837 -0
  18. data/doc/Riaction/Riaction/Event/InstanceMethods.html +301 -0
  19. data/doc/Riaction/Riaction/Event.html +108 -0
  20. data/doc/Riaction/Riaction/InstanceMethods.html +198 -0
  21. data/doc/Riaction/Riaction/Profile/InstanceMethods.html +746 -0
  22. data/doc/Riaction/Riaction/Profile.html +108 -0
  23. data/doc/Riaction/Riaction.html +125 -0
  24. data/doc/Riaction/RuntimeError.html +116 -0
  25. data/doc/Riaction.html +124 -0
  26. data/doc/RiactionGenerator.html +188 -0
  27. data/doc/_index.html +263 -0
  28. data/doc/class_list.html +47 -0
  29. data/doc/css/common.css +1 -0
  30. data/doc/css/full_list.css +55 -0
  31. data/doc/css/style.css +322 -0
  32. data/doc/file.README.html +304 -0
  33. data/doc/file_list.html +49 -0
  34. data/doc/frames.html +13 -0
  35. data/doc/index.html +304 -0
  36. data/doc/js/app.js +205 -0
  37. data/doc/js/full_list.js +173 -0
  38. data/doc/js/jquery.js +16 -0
  39. data/doc/method_list.html +294 -0
  40. data/doc/top-level-namespace.html +107 -0
  41. data/lib/riaction/constants.rb +6 -2
  42. data/lib/riaction/crud_event_callback.rb +3 -0
  43. data/lib/riaction/event_performer.rb +10 -5
  44. data/lib/riaction/profile_creation_callback.rb +2 -0
  45. data/lib/riaction/riaction.rb +11 -7
  46. data/lib/riaction/version.rb +1 -1
  47. data/lib/tasks/riaction.rake +25 -22
  48. data/riaction.gemspec +4 -2
  49. data/spec/event_performer_spec.rb +23 -0
  50. data/spec/riaction_spec.rb +33 -4
  51. metadata +79 -19
@@ -0,0 +1,837 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Riaction::Riaction::ClassMethods
8
+
9
+ &mdash; Documentation by YARD 0.7.5
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '../..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../../_index.html">Index (C)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../../Riaction.html" title="Riaction (module)">Riaction</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Riaction.html" title="Riaction::Riaction (module)">Riaction</a></span></span>
38
+ &raquo;
39
+ <span class="title">ClassMethods</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Module: Riaction::Riaction::ClassMethods
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dt class="r1 last">Defined in:</dt>
75
+ <dd class="r1 last">lib/riaction/riaction.rb</dd>
76
+
77
+ </dl>
78
+ <div class="clear"></div>
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+ <h2>
89
+ Instance Method Summary
90
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
91
+ </h2>
92
+
93
+ <ul class="summary">
94
+
95
+ <li class="public ">
96
+ <span class="summary_signature">
97
+
98
+ <a href="#establish_riactionary_class-instance_method" title="#establish_riactionary_class (instance method)">- (Object) <strong>establish_riactionary_class</strong> </a>
99
+
100
+
101
+
102
+ </span>
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ <span class="summary_desc"><div class='inline'>
112
+ <p>Patches a class to turn it into a riactionary class, providing some default
113
+ checks and attributes.</p>
114
+ </div></span>
115
+
116
+ </li>
117
+
118
+
119
+ <li class="public ">
120
+ <span class="summary_signature">
121
+
122
+ <a href="#establish_riactionary_event_class-instance_method" title="#establish_riactionary_event_class (instance method)">- (Object) <strong>establish_riactionary_event_class</strong> </a>
123
+
124
+
125
+
126
+ </span>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+ <span class="summary_desc"><div class='inline'></div></span>
136
+
137
+ </li>
138
+
139
+
140
+ <li class="public ">
141
+ <span class="summary_signature">
142
+
143
+ <a href="#establish_riactionary_profile_class-instance_method" title="#establish_riactionary_profile_class (instance method)">- (Object) <strong>establish_riactionary_profile_class</strong> </a>
144
+
145
+
146
+
147
+ </span>
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+ <span class="summary_desc"><div class='inline'></div></span>
157
+
158
+ </li>
159
+
160
+
161
+ <li class="public ">
162
+ <span class="summary_signature">
163
+
164
+ <a href="#riaction-instance_method" title="#riaction (instance method)">- (Object) <strong>riaction</strong>(type, opts) </a>
165
+
166
+
167
+
168
+ </span>
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+ <span class="summary_desc"><div class='inline'></div></span>
178
+
179
+ </li>
180
+
181
+
182
+ <li class="public ">
183
+ <span class="summary_signature">
184
+
185
+ <a href="#riaction_events%3F-instance_method" title="#riaction_events? (instance method)">- (Boolean) <strong>riaction_events?</strong> </a>
186
+
187
+
188
+
189
+ </span>
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+ <span class="summary_desc"><div class='inline'></div></span>
199
+
200
+ </li>
201
+
202
+
203
+ <li class="public ">
204
+ <span class="summary_signature">
205
+
206
+ <a href="#riaction_profile%3F-instance_method" title="#riaction_profile? (instance method)">- (Boolean) <strong>riaction_profile?</strong> </a>
207
+
208
+
209
+
210
+ </span>
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <span class="summary_desc"><div class='inline'></div></span>
220
+
221
+ </li>
222
+
223
+
224
+ <li class="public ">
225
+ <span class="summary_signature">
226
+
227
+ <a href="#riactionary%3F-instance_method" title="#riactionary? (instance method)">- (Boolean) <strong>riactionary?</strong> </a>
228
+
229
+
230
+
231
+ </span>
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+ <span class="summary_desc"><div class='inline'></div></span>
241
+
242
+ </li>
243
+
244
+
245
+ </ul>
246
+
247
+
248
+
249
+
250
+ <div id="instance_method_details" class="method_details_list">
251
+ <h2>Instance Method Details</h2>
252
+
253
+
254
+ <div class="method_details first">
255
+ <p class="signature first" id="establish_riactionary_class-instance_method">
256
+
257
+ - (<tt>Object</tt>) <strong>establish_riactionary_class</strong>
258
+
259
+
260
+
261
+ </p><div class="docstring">
262
+ <div class="discussion">
263
+
264
+ <p>Patches a class to turn it into a riactionary class, providing some default
265
+ checks and attributes</p>
266
+
267
+
268
+ </div>
269
+ </div>
270
+ <div class="tags">
271
+
272
+
273
+ </div><table class="source_code">
274
+ <tr>
275
+ <td>
276
+ <pre class="lines">
277
+
278
+
279
+ 42
280
+ 43
281
+ 44
282
+ 45
283
+ 46
284
+ 47
285
+ 48
286
+ 49
287
+ 50
288
+ 51
289
+ 52
290
+ 53
291
+ 54
292
+ 55
293
+ 56
294
+ 57
295
+ 58
296
+ 59
297
+ 60
298
+ 61
299
+ 62
300
+ 63
301
+ 64
302
+ 65
303
+ 66
304
+ 67
305
+ 68
306
+ 69
307
+ 70
308
+ 71
309
+ 72
310
+ 73
311
+ 74
312
+ 75
313
+ 76
314
+ 77
315
+ 78
316
+ 79
317
+ 80
318
+ 81
319
+ 82
320
+ 83
321
+ 84
322
+ 85
323
+ 86
324
+ 87
325
+ 88
326
+ 89
327
+ 90
328
+ 91
329
+ 92
330
+ 93
331
+ 94
332
+ 95
333
+ 96
334
+ 97
335
+ 98
336
+ 99
337
+ 100
338
+ 101
339
+ 102
340
+ 103
341
+ 104
342
+ 105
343
+ 106
344
+ 107
345
+ 108
346
+ 109
347
+ 110
348
+ 111
349
+ 112
350
+ 113
351
+ 114
352
+ 115
353
+ 116
354
+ 117
355
+ 118
356
+ 119
357
+ 120
358
+ 121
359
+ 122
360
+ 123
361
+ 124
362
+ 125
363
+ 126
364
+ 127
365
+ 128
366
+ 129
367
+ 130
368
+ 131
369
+ 132
370
+ 133
371
+ 134
372
+ 135
373
+ 136
374
+ 137
375
+ 138
376
+ 139
377
+ 140
378
+ 141
379
+ 142
380
+ 143
381
+ 144
382
+ 145
383
+ 146
384
+ 147
385
+ 148
386
+ 149
387
+ 150
388
+ 151
389
+ 152
390
+ 153</pre>
391
+ </td>
392
+ <td>
393
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 42</span>
394
+
395
+ <span class='kw'>def</span> <span class='id identifier rubyid_establish_riactionary_class'>establish_riactionary_class</span>
396
+ <span class='kw'>class</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span>
397
+
398
+ <span class='comment'># returns true if a class has riaction setup
399
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_riactionary?'>riactionary?</span>
400
+ <span class='kw'>true</span>
401
+ <span class='kw'>end</span>
402
+
403
+ <span class='kw'>def</span> <span class='id identifier rubyid_riactionless?'>riactionless?</span>
404
+ <span class='ivar'>@riactionless</span> <span class='op'>||=</span> <span class='kw'>false</span>
405
+ <span class='kw'>end</span>
406
+
407
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_profile_keys'>riaction_profile_keys</span>
408
+ <span class='ivar'>@riaction_profile_keys</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
409
+ <span class='kw'>end</span>
410
+
411
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_events'>riaction_events</span>
412
+ <span class='ivar'>@riaction_events</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
413
+ <span class='kw'>end</span>
414
+
415
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_options'>riaction_options</span>
416
+ <span class='ivar'>@riaction_options</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Constants</span><span class='period'>.</span><span class='id identifier rubyid_riaction_options'>riaction_options</span>
417
+ <span class='kw'>end</span>
418
+
419
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_use_profile'>riaction_use_profile</span>
420
+ <span class='ivar'>@riaction_use_profile</span> <span class='op'>||=</span> <span class='kw'>nil</span>
421
+ <span class='kw'>end</span>
422
+
423
+ <span class='kw'>def</span> <span class='id identifier rubyid_riactionless'>riactionless</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
424
+ <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
425
+ <span class='ivar'>@riactionless</span> <span class='op'>=</span> <span class='kw'>true</span>
426
+ <span class='kw'>begin</span>
427
+ <span class='id identifier rubyid_block_value'>block_value</span> <span class='op'>=</span> <span class='kw'>yield</span>
428
+ <span class='kw'>ensure</span>
429
+ <span class='ivar'>@riactionless</span> <span class='op'>=</span> <span class='kw'>false</span>
430
+ <span class='kw'>end</span>
431
+ <span class='kw'>end</span>
432
+ <span class='kw'>end</span>
433
+
434
+ <span class='kw'>def</span> <span class='id identifier rubyid_reset_riaction'>reset_riaction</span>
435
+ <span class='id identifier rubyid_riaction_profile_keys'>riaction_profile_keys</span><span class='period'>.</span><span class='id identifier rubyid_clear'>clear</span>
436
+ <span class='id identifier rubyid_riaction_events'>riaction_events</span><span class='period'>.</span><span class='id identifier rubyid_clear'>clear</span>
437
+ <span class='id identifier rubyid_riaction_options'>riaction_options</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Constants</span><span class='period'>.</span><span class='id identifier rubyid_riaction_options'>riaction_options</span><span class='rparen'>)</span>
438
+ <span class='ivar'>@riaction_use_profile</span> <span class='op'>=</span> <span class='kw'>nil</span>
439
+ <span class='kw'>end</span>
440
+
441
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_or_update_riaction_profile'>add_or_update_riaction_profile</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
442
+ <span class='id identifier rubyid_display_name'>display_name</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:display_name</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>nil</span>
443
+ <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='symbol'>:display_name</span><span class='comma'>,</span> <span class='id identifier rubyid_display_name'>display_name</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'>Symbol</span><span class='comma'>,</span> <span class='const'>Proc</span><span class='comma'>,</span> <span class='const'>NilClass</span><span class='rbracket'>]</span><span class='rparen'>)</span>
444
+ <span class='kw'>unless</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_type'>type</span><span class='op'>|</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Constants</span><span class='period'>.</span><span class='id identifier rubyid_supported_identifier_types'>supported_identifier_types</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span><span class='rbrace'>}</span>
445
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ConfigurationError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbrace'>}</span><span class='tstring_content'> defining a riaction profile must use supported IActionable types: </span><span class='embexpr_beg'>#{</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Constants</span><span class='period'>.</span><span class='id identifier rubyid_supported_identifier_types'>supported_identifier_types</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
446
+ <span class='kw'>end</span>
447
+ <span class='id identifier rubyid_riaction_profile_keys'>riaction_profile_keys</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='lbrace'>{</span>
448
+ <span class='symbol'>:display_name</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_display_name'>display_name</span><span class='comma'>,</span>
449
+ <span class='symbol'>:identifiers</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opts'>opts</span>
450
+ <span class='rbrace'>}</span><span class='rparen'>)</span>
451
+ <span class='ivar'>@riaction_use_profile</span> <span class='op'>||=</span> <span class='id identifier rubyid_type'>type</span>
452
+ <span class='kw'>end</span>
453
+
454
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_or_update_riaction_event'>add_or_update_riaction_event</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
455
+ <span class='comment'># set values
456
+ </span> <span class='id identifier rubyid_trigger'>trigger</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:trigger</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='symbol'>:create</span>
457
+ <span class='id identifier rubyid_profile'>profile</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:profile</span><span class='rparen'>)</span>
458
+ <span class='id identifier rubyid_profile_type'>profile_type</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:profile_type</span><span class='rparen'>)</span>
459
+ <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:params</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
460
+ <span class='id identifier rubyid_guard'>guard</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:if</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:guard</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>true</span>
461
+ <span class='comment'># check for required types and presence
462
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_profile'>profile</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
463
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ConfigurationError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbrace'>}</span><span class='tstring_content'> defining a riaction event must provide a profile</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
464
+ <span class='kw'>end</span>
465
+ <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='symbol'>:trigger</span><span class='comma'>,</span> <span class='id identifier rubyid_trigger'>trigger</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'>Symbol</span><span class='rbracket'>]</span><span class='rparen'>)</span>
466
+ <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='symbol'>:profile</span><span class='comma'>,</span> <span class='id identifier rubyid_profile'>profile</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'>Symbol</span><span class='comma'>,</span> <span class='const'>Proc</span><span class='rbracket'>]</span><span class='rparen'>)</span>
467
+ <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='symbol'>:profile_type</span><span class='comma'>,</span> <span class='id identifier rubyid_profile_type'>profile_type</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'>Symbol</span><span class='comma'>,</span> <span class='const'>NilClass</span><span class='rbracket'>]</span><span class='rparen'>)</span>
468
+ <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='symbol'>:params</span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'>Symbol</span><span class='comma'>,</span> <span class='const'>Proc</span><span class='comma'>,</span> <span class='const'>Hash</span><span class='rbracket'>]</span><span class='rparen'>)</span>
469
+ <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='symbol'>:guard</span><span class='comma'>,</span> <span class='id identifier rubyid_guard'>guard</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='const'>Symbol</span><span class='comma'>,</span> <span class='const'>Proc</span><span class='comma'>,</span> <span class='const'>TrueClass</span><span class='rbracket'>]</span><span class='rparen'>)</span>
470
+ <span class='comment'># store our event data
471
+ </span> <span class='id identifier rubyid_riaction_events'>riaction_events</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='lbrace'>{</span>
472
+ <span class='symbol'>:trigger</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_trigger'>trigger</span><span class='comma'>,</span>
473
+ <span class='symbol'>:profile</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_profile'>profile</span><span class='comma'>,</span>
474
+ <span class='symbol'>:profile_type</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_profile_type'>profile_type</span><span class='comma'>,</span>
475
+ <span class='symbol'>:params</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_params'>params</span><span class='comma'>,</span>
476
+ <span class='symbol'>:guard</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_guard'>guard</span>
477
+ <span class='rbrace'>}</span><span class='rparen'>)</span>
478
+ <span class='comment'># create necessary callbacks and instance methods for triggers
479
+ </span> <span class='kw'>if</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Constants</span><span class='period'>.</span><span class='id identifier rubyid_crud_actions'>crud_actions</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_trigger'>trigger</span>
480
+ <span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>after_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigger'>trigger</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>CrudEventCallback</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
481
+ <span class='kw'>else</span>
482
+ <span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>trigger_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_trigger'>trigger</span><span class='rbrace'>}</span><span class='tstring_content'>!</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
483
+ <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_riaction_log_event?'>riaction_log_event?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</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_riactionless?'>riactionless?</span>
484
+ <span class='const'>Resque</span><span class='period'>.</span><span class='id identifier rubyid_enqueue'>enqueue</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>EventPerformer</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</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_base_class'>base_class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
485
+ <span class='kw'>end</span>
486
+ <span class='kw'>end</span>
487
+ <span class='kw'>end</span>
488
+ <span class='kw'>end</span>
489
+
490
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_profile_types_defined'>riaction_profile_types_defined</span>
491
+ <span class='id identifier rubyid_riaction_profile_keys'>riaction_profile_keys</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
492
+ <span class='kw'>end</span>
493
+
494
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_events_defined'>riaction_events_defined</span>
495
+ <span class='id identifier rubyid_riaction_events'>riaction_events</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
496
+ <span class='kw'>end</span>
497
+
498
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_check_type'>riaction_check_type</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_allowed_types'>allowed_types</span><span class='rparen'>)</span>
499
+ <span class='kw'>unless</span> <span class='id identifier rubyid_allowed_types'>allowed_types</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_type'>type</span><span class='op'>|</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span><span class='rbrace'>}</span>
500
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ConfigurationError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value given for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> must be of types: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_allowed_types'>allowed_types</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>, </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
501
+ <span class='kw'>end</span>
502
+ <span class='kw'>end</span>
503
+ <span class='kw'>end</span>
504
+
505
+ <span class='id identifier rubyid_include'>include</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>InstanceMethods</span>
506
+ <span class='kw'>end</span></pre>
507
+ </td>
508
+ </tr>
509
+ </table>
510
+ </div>
511
+
512
+ <div class="method_details ">
513
+ <p class="signature " id="establish_riactionary_event_class-instance_method">
514
+
515
+ - (<tt>Object</tt>) <strong>establish_riactionary_event_class</strong>
516
+
517
+
518
+
519
+ </p><table class="source_code">
520
+ <tr>
521
+ <td>
522
+ <pre class="lines">
523
+
524
+
525
+ 169
526
+ 170
527
+ 171
528
+ 172
529
+ 173
530
+ 174
531
+ 175
532
+ 176
533
+ 177
534
+ 178
535
+ 179
536
+ 180
537
+ 181
538
+ 182
539
+ 183</pre>
540
+ </td>
541
+ <td>
542
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 169</span>
543
+
544
+ <span class='kw'>def</span> <span class='id identifier rubyid_establish_riactionary_event_class'>establish_riactionary_event_class</span>
545
+ <span class='lparen'>(</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>EVENT_CLASSES</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span>
546
+
547
+ <span class='kw'>class</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span>
548
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_events?'>riaction_events?</span>
549
+ <span class='kw'>true</span>
550
+ <span class='kw'>end</span>
551
+
552
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_defines_event?'>riaction_defines_event?</span><span class='lparen'>(</span><span class='id identifier rubyid_event_name'>event_name</span><span class='rparen'>)</span>
553
+ <span class='id identifier rubyid_riaction_events'>riaction_events</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span> <span class='id identifier rubyid_event_name'>event_name</span>
554
+ <span class='kw'>end</span>
555
+ <span class='kw'>end</span>
556
+
557
+ <span class='id identifier rubyid_include'>include</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Event</span><span class='op'>::</span><span class='const'>InstanceMethods</span>
558
+ <span class='kw'>end</span></pre>
559
+ </td>
560
+ </tr>
561
+ </table>
562
+ </div>
563
+
564
+ <div class="method_details ">
565
+ <p class="signature " id="establish_riactionary_profile_class-instance_method">
566
+
567
+ - (<tt>Object</tt>) <strong>establish_riactionary_profile_class</strong>
568
+
569
+
570
+
571
+ </p><table class="source_code">
572
+ <tr>
573
+ <td>
574
+ <pre class="lines">
575
+
576
+
577
+ 155
578
+ 156
579
+ 157
580
+ 158
581
+ 159
582
+ 160
583
+ 161
584
+ 162
585
+ 163
586
+ 164
587
+ 165
588
+ 166
589
+ 167</pre>
590
+ </td>
591
+ <td>
592
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 155</span>
593
+
594
+ <span class='kw'>def</span> <span class='id identifier rubyid_establish_riactionary_profile_class'>establish_riactionary_profile_class</span>
595
+ <span class='lparen'>(</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>PROFILE_CLASSES</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq!'>uniq!</span>
596
+
597
+ <span class='kw'>class</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span>
598
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_profile?'>riaction_profile?</span>
599
+ <span class='kw'>true</span>
600
+ <span class='kw'>end</span>
601
+ <span class='kw'>end</span>
602
+
603
+ <span class='id identifier rubyid_include'>include</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Profile</span><span class='op'>::</span><span class='const'>InstanceMethods</span>
604
+
605
+ <span class='id identifier rubyid_after_create'>after_create</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>ProfileCreationCallback</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
606
+ <span class='kw'>end</span></pre>
607
+ </td>
608
+ </tr>
609
+ </table>
610
+ </div>
611
+
612
+ <div class="method_details ">
613
+ <p class="signature " id="riaction-instance_method">
614
+
615
+ - (<tt>Object</tt>) <strong>riaction</strong>(type, opts)
616
+
617
+
618
+
619
+ </p><table class="source_code">
620
+ <tr>
621
+ <td>
622
+ <pre class="lines">
623
+
624
+
625
+ 19
626
+ 20
627
+ 21
628
+ 22
629
+ 23
630
+ 24
631
+ 25
632
+ 26
633
+ 27
634
+ 28
635
+ 29
636
+ 30
637
+ 31
638
+ 32
639
+ 33
640
+ 34
641
+ 35
642
+ 36
643
+ 37
644
+ 38
645
+ 39</pre>
646
+ </td>
647
+ <td>
648
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 19</span>
649
+
650
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction'>riaction</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
651
+ <span class='id identifier rubyid_establish_riactionary_class'>establish_riactionary_class</span> <span class='kw'>unless</span> <span class='id identifier rubyid_riactionary?'>riactionary?</span>
652
+ <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:profile</span>
653
+ <span class='id identifier rubyid_establish_riactionary_profile_class'>establish_riactionary_profile_class</span> <span class='kw'>unless</span> <span class='id identifier rubyid_riaction_profile?'>riaction_profile?</span>
654
+ <span class='id identifier rubyid_add_or_update_riaction_profile'>add_or_update_riaction_profile</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:type</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
655
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:event</span>
656
+ <span class='id identifier rubyid_establish_riactionary_event_class'>establish_riactionary_event_class</span> <span class='kw'>unless</span> <span class='id identifier rubyid_riaction_events?'>riaction_events?</span>
657
+ <span class='id identifier rubyid_add_or_update_riaction_event'>add_or_update_riaction_event</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:name</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
658
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:option</span> <span class='op'>||</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:options</span>
659
+ <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
660
+ <span class='kw'>if</span> <span class='op'>::</span><span class='const'>Riaction</span><span class='op'>::</span><span class='const'>Constants</span><span class='period'>.</span><span class='id identifier rubyid_riaction_options'>riaction_options</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_option'>option</span><span class='rparen'>)</span>
661
+ <span class='comment'># merge hashes, replace all else;
662
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_riaction_options'>riaction_options</span><span class='lbracket'>[</span><span class='id identifier rubyid_option'>option</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Hash</span>
663
+ <span class='id identifier rubyid_riaction_options'>riaction_options</span><span class='lbracket'>[</span><span class='id identifier rubyid_option'>option</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span> <span class='id identifier rubyid_value'>value</span>
664
+ <span class='kw'>else</span>
665
+ <span class='id identifier rubyid_riaction_options'>riaction_options</span><span class='lbracket'>[</span><span class='id identifier rubyid_option'>option</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
666
+ <span class='kw'>end</span>
667
+ <span class='kw'>end</span>
668
+ <span class='kw'>end</span>
669
+ <span class='kw'>end</span>
670
+ <span class='kw'>end</span></pre>
671
+ </td>
672
+ </tr>
673
+ </table>
674
+ </div>
675
+
676
+ <div class="method_details ">
677
+ <p class="signature " id="riaction_events?-instance_method">
678
+
679
+ - (<tt>Boolean</tt>) <strong>riaction_events?</strong>
680
+
681
+
682
+
683
+ </p><div class="docstring">
684
+ <div class="discussion">
685
+
686
+
687
+ </div>
688
+ </div>
689
+ <div class="tags">
690
+
691
+ <h3>Returns:</h3>
692
+ <ul class="return">
693
+
694
+ <li>
695
+
696
+
697
+ <span class='type'>(<tt>Boolean</tt>)</span>
698
+
699
+
700
+
701
+ </li>
702
+
703
+ </ul>
704
+
705
+ </div><table class="source_code">
706
+ <tr>
707
+ <td>
708
+ <pre class="lines">
709
+
710
+
711
+ 193
712
+ 194
713
+ 195</pre>
714
+ </td>
715
+ <td>
716
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 193</span>
717
+
718
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_events?'>riaction_events?</span>
719
+ <span class='kw'>false</span>
720
+ <span class='kw'>end</span></pre>
721
+ </td>
722
+ </tr>
723
+ </table>
724
+ </div>
725
+
726
+ <div class="method_details ">
727
+ <p class="signature " id="riaction_profile?-instance_method">
728
+
729
+ - (<tt>Boolean</tt>) <strong>riaction_profile?</strong>
730
+
731
+
732
+
733
+ </p><div class="docstring">
734
+ <div class="discussion">
735
+
736
+
737
+ </div>
738
+ </div>
739
+ <div class="tags">
740
+
741
+ <h3>Returns:</h3>
742
+ <ul class="return">
743
+
744
+ <li>
745
+
746
+
747
+ <span class='type'>(<tt>Boolean</tt>)</span>
748
+
749
+
750
+
751
+ </li>
752
+
753
+ </ul>
754
+
755
+ </div><table class="source_code">
756
+ <tr>
757
+ <td>
758
+ <pre class="lines">
759
+
760
+
761
+ 189
762
+ 190
763
+ 191</pre>
764
+ </td>
765
+ <td>
766
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 189</span>
767
+
768
+ <span class='kw'>def</span> <span class='id identifier rubyid_riaction_profile?'>riaction_profile?</span>
769
+ <span class='kw'>false</span>
770
+ <span class='kw'>end</span></pre>
771
+ </td>
772
+ </tr>
773
+ </table>
774
+ </div>
775
+
776
+ <div class="method_details ">
777
+ <p class="signature " id="riactionary?-instance_method">
778
+
779
+ - (<tt>Boolean</tt>) <strong>riactionary?</strong>
780
+
781
+
782
+
783
+ </p><div class="docstring">
784
+ <div class="discussion">
785
+
786
+
787
+ </div>
788
+ </div>
789
+ <div class="tags">
790
+
791
+ <h3>Returns:</h3>
792
+ <ul class="return">
793
+
794
+ <li>
795
+
796
+
797
+ <span class='type'>(<tt>Boolean</tt>)</span>
798
+
799
+
800
+
801
+ </li>
802
+
803
+ </ul>
804
+
805
+ </div><table class="source_code">
806
+ <tr>
807
+ <td>
808
+ <pre class="lines">
809
+
810
+
811
+ 185
812
+ 186
813
+ 187</pre>
814
+ </td>
815
+ <td>
816
+ <pre class="code"><span class="info file"># File 'lib/riaction/riaction.rb', line 185</span>
817
+
818
+ <span class='kw'>def</span> <span class='id identifier rubyid_riactionary?'>riactionary?</span>
819
+ <span class='kw'>false</span>
820
+ <span class='kw'>end</span></pre>
821
+ </td>
822
+ </tr>
823
+ </table>
824
+ </div>
825
+
826
+ </div>
827
+
828
+ </div>
829
+
830
+ <div id="footer">
831
+ Generated on Tue Mar 6 22:00:20 2012 by
832
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
833
+ 0.7.5 (ruby-1.9.3).
834
+ </div>
835
+
836
+ </body>
837
+ </html>