riaction 1.2.6 → 1.2.7

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 (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>