loggable_activity 0.1.56 → 0.1.59

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -1
  3. data/CHANGELOG.md +9 -0
  4. data/GETTING-STARTED.md +8 -47
  5. data/PAYLOAD_EXAMPLE.md +63 -0
  6. data/docs/LoggableActivity/Activity.html +92 -241
  7. data/docs/LoggableActivity/Configuration.html +162 -15
  8. data/docs/LoggableActivity/ConfigurationError.html +148 -0
  9. data/docs/LoggableActivity/DataOwner.html +138 -0
  10. data/docs/LoggableActivity/Encryption.html +18 -14
  11. data/docs/LoggableActivity/EncryptionError.html +47 -1
  12. data/docs/LoggableActivity/EncryptionKey.html +54 -35
  13. data/docs/LoggableActivity/Error.html +48 -0
  14. data/docs/LoggableActivity/Hooks.html +221 -89
  15. data/docs/LoggableActivity/Payload.html +103 -27
  16. data/docs/LoggableActivity/Services/BasePayloadsBuilder.html +442 -0
  17. data/docs/LoggableActivity/Services/DestroyPayloadsBuilder.html +395 -0
  18. data/docs/LoggableActivity/Services/PayloadsBuilder.html +342 -0
  19. data/docs/LoggableActivity/Services/UpdatePayloadsBuilder.html +490 -0
  20. data/docs/LoggableActivity/Services.html +93 -0
  21. data/docs/created.rid +14 -10
  22. data/docs/index.html +10 -2
  23. data/docs/js/navigation.js.gz +0 -0
  24. data/docs/js/search_index.js +1 -1
  25. data/docs/js/search_index.js.gz +0 -0
  26. data/docs/js/searcher.js.gz +0 -0
  27. data/docs/table_of_contents.html +253 -85
  28. data/lib/generators/loggable_activity/install_generator.rb +2 -18
  29. data/lib/generators/loggable_activity/templates/.DS_Store +0 -0
  30. data/lib/generators/loggable_activity/templates/binary_ids/create_loggable_activities.rb +9 -10
  31. data/lib/generators/loggable_activity/templates/create_loggable_activities.rb +16 -13
  32. data/lib/loggable_activity/activity.rb +53 -102
  33. data/lib/loggable_activity/configuration.rb +60 -3
  34. data/lib/loggable_activity/data_owner.rb +18 -0
  35. data/lib/loggable_activity/encryption.rb +14 -14
  36. data/lib/loggable_activity/encryption_key.rb +26 -25
  37. data/lib/loggable_activity/error.rb +34 -0
  38. data/lib/loggable_activity/hooks.rb +78 -43
  39. data/lib/loggable_activity/payload.rb +70 -20
  40. data/lib/loggable_activity/services/base_payloads_builder.rb +127 -0
  41. data/lib/loggable_activity/services/destroy_payloads_builder.rb +127 -0
  42. data/lib/loggable_activity/services/payloads_builder.rb +98 -0
  43. data/lib/loggable_activity/services/update_payloads_builder.rb +170 -0
  44. data/lib/loggable_activity/version.rb +1 -1
  45. data/lib/loggable_activity.rb +6 -6
  46. data/lib/schemas/config_schema.json +90 -0
  47. metadata +37 -26
  48. data/docs/LoggableActivity/PayloadsBuilder.html +0 -441
  49. data/docs/LoggableActivity/UpdatePayloadsBuilder.html +0 -424
  50. data/lib/generators/loggable_activity/install_templates_generator.rb +0 -105
  51. data/lib/generators/loggable_activity/templates/helpers/activity_helper.rb +0 -37
  52. data/lib/generators/loggable_activity/templates/helpers/router.rb +0 -52
  53. data/lib/generators/loggable_activity/templates/helpers/routes_helper.rb +0 -20
  54. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +0 -23
  55. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +0 -18
  56. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +0 -18
  57. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +0 -17
  58. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +0 -18
  59. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +0 -17
  60. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +0 -18
  61. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +0 -12
  62. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +0 -12
  63. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +0 -11
  64. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +0 -8
  65. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +0 -6
  66. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +0 -17
  67. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +0 -14
  68. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +0 -23
  69. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +0 -21
  70. data/lib/loggable_activity/payloads_builder.rb +0 -153
  71. data/lib/loggable_activity/update_payloads_builder.rb +0 -127
@@ -59,15 +59,6 @@
59
59
 
60
60
 
61
61
 
62
- <div id="includes-section" class="nav-section">
63
- <h3>Included Modules</h3>
64
-
65
- <ul class="link-list">
66
- <li><a class="include" href="PayloadsBuilder.html">LoggableActivity::PayloadsBuilder</a>
67
- <li><a class="include" href="UpdatePayloadsBuilder.html">LoggableActivity::UpdatePayloadsBuilder</a>
68
- </ul>
69
- </div>
70
-
71
62
 
72
63
  <div id="extends-section" class="nav-section">
73
64
  <h3>Extended With Modules</h3>
@@ -84,13 +75,18 @@
84
75
 
85
76
  <ul class="link-list" role="directory">
86
77
  <li ><a href="#method-i-action_key">#action_key</a>
87
- <li ><a href="#method-i-actor_display_name_field">#actor_display_name_field</a>
88
- <li ><a href="#method-i-actor_encryption_key">#actor_encryption_key</a>
78
+ <li ><a href="#method-i-actor__name_field">#actor__name_field</a>
79
+ <li ><a href="#method-i-actor_secret_key">#actor_secret_key</a>
89
80
  <li ><a href="#method-i-base_action">#base_action</a>
81
+ <li ><a href="#method-i-build_destroy_payload">#build_destroy_payload</a>
82
+ <li ><a href="#method-i-build_payloads">#build_payloads</a>
83
+ <li ><a href="#method-i-build_update_payloads">#build_update_payloads</a>
90
84
  <li ><a href="#method-i-create_activity">#create_activity</a>
91
85
  <li ><a href="#method-i-current_user_model-3F">#current_user_model?</a>
92
86
  <li ><a href="#method-i-encrypted_actor_name">#encrypted_actor_name</a>
93
- <li ><a href="#method-i-encrypted_record_name">#encrypted_record_name</a>
87
+ <li ><a href="#method-i-encryption_key_for_record">#encryption_key_for_record</a>
88
+ <li ><a href="#method-i-fetch_current_user_name_from">#fetch_current_user_name_from</a>
89
+ <li ><a href="#method-i-hooks_enabled-3F">#hooks_enabled?</a>
94
90
  <li ><a href="#method-i-log">#log</a>
95
91
  <li ><a href="#method-i-log_activity">#log_activity</a>
96
92
  <li ><a href="#method-i-log_create_activity">#log_create_activity</a>
@@ -99,9 +95,9 @@
99
95
  <li ><a href="#method-i-log_destroy_activity">#log_destroy_activity</a>
100
96
  <li ><a href="#method-i-log_update">#log_update</a>
101
97
  <li ><a href="#method-i-log_update_activity">#log_update_activity</a>
98
+ <li ><a href="#method-i-mark_encryption_keys_as_deleted">#mark_encryption_keys_as_deleted</a>
102
99
  <li ><a href="#method-i-nothing_to_log-3F">#nothing_to_log?</a>
103
100
  <li ><a href="#method-i-primary_encryption_key">#primary_encryption_key</a>
104
- <li ><a href="#method-i-primary_encryption_key_deleted-3F">#primary_encryption_key_deleted?</a>
105
101
  </ul>
106
102
  </div>
107
103
 
@@ -115,7 +111,7 @@
115
111
 
116
112
  <section class="description">
117
113
 
118
- <p>This module provides hooks for creating activities when included in a model.</p>
114
+ <p>When included to a model, it provides the features for logging events regarding to the model. For this to work you have to update the configuration file ‘config/loggable_activity.yaml</p>
119
115
 
120
116
  </section>
121
117
 
@@ -123,6 +119,22 @@
123
119
 
124
120
 
125
121
 
122
+ <section class="attribute-method-details" class="method-section">
123
+ <header>
124
+ <h3>Attributes</h3>
125
+ </header>
126
+
127
+ <div id="attribute-i-disable_hooks" class="method-detail">
128
+ <div class="method-heading attribute-method-heading">
129
+ <span class="method-name">disable_hooks</span><span
130
+ class="attribute-access-type">[RW]</span>
131
+ </div>
132
+
133
+ <div class="method-description">
134
+ <p>The <a href="Hooks.html#attribute-i-disable_hooks"><code>disable_hooks</code></a> attribute is used to disable hooks when a model is created or updated by a parent model.</p>
135
+ </div>
136
+ </div>
137
+ </section>
126
138
 
127
139
 
128
140
  <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
@@ -147,13 +159,11 @@
147
159
  @param params [Hash] Additional parameters for the activity.</pre>
148
160
 
149
161
  <div class="method-source-code" id="log-source">
150
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 41</span>
162
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 42</span>
151
163
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log</span>(<span class="ruby-identifier">action</span>, <span class="ruby-value">actor:</span> <span class="ruby-keyword">nil</span>, <span class="ruby-value">params:</span> {})
152
164
  <span class="ruby-ivar">@action</span> = <span class="ruby-identifier">action</span>
153
165
  <span class="ruby-ivar">@actor</span> = <span class="ruby-identifier">actor</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">current</span>[<span class="ruby-value">:current_user</span>]
154
- <span class="ruby-comment"># LoggableActivity::EncryptionKey.for_record(self)</span>
155
-
156
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@actor</span>.<span class="ruby-identifier">nil?</span>
166
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@actor</span>.<span class="ruby-identifier">nil?</span>
157
167
 
158
168
  <span class="ruby-ivar">@record</span> = <span class="ruby-keyword">self</span>
159
169
  <span class="ruby-ivar">@params</span> = <span class="ruby-identifier">params</span>
@@ -196,9 +206,9 @@
196
206
  <p>Returns the action key for the current action.</p>
197
207
 
198
208
  <div class="method-source-code" id="action_key-source">
199
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 137</span>
209
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 172</span>
200
210
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">action_key</span>
201
- <span class="ruby-ivar">@action_key</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">base_action</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;.#{@action}&quot;</span>
211
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">base_action</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;.#{@action}&quot;</span>
202
212
  <span class="ruby-keyword">end</span></pre>
203
213
  </div>
204
214
  </div>
@@ -206,10 +216,10 @@
206
216
 
207
217
  </div>
208
218
 
209
- <div id="method-i-actor_display_name_field" class="method-detail ">
219
+ <div id="method-i-actor__name_field" class="method-detail ">
210
220
  <div class="method-header">
211
221
  <div class="method-heading">
212
- <span class="method-name">actor_display_name_field</span><span
222
+ <span class="method-name">actor__name_field</span><span
213
223
  class="method-args">()</span>
214
224
  <span class="method-click-advice">click to toggle source</span>
215
225
  </div>
@@ -218,9 +228,9 @@
218
228
  <div class="method-description">
219
229
  <p>Returns the display name of the actor.</p>
220
230
 
221
- <div class="method-source-code" id="actor_display_name_field-source">
222
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 158</span>
223
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor_display_name_field</span>
231
+ <div class="method-source-code" id="actor__name_field-source">
232
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 192</span>
233
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor__name_field</span>
224
234
  <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">loggable_activity</span>.<span class="ruby-identifier">actor_display_name</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;id: #{@actor.id}, class: #{@actor.class.name}&quot;</span>
225
235
  <span class="ruby-keyword">end</span></pre>
226
236
  </div>
@@ -229,10 +239,10 @@
229
239
 
230
240
  </div>
231
241
 
232
- <div id="method-i-actor_encryption_key" class="method-detail ">
242
+ <div id="method-i-actor_secret_key" class="method-detail ">
233
243
  <div class="method-header">
234
244
  <div class="method-heading">
235
- <span class="method-name">actor_encryption_key</span><span
245
+ <span class="method-name">actor_secret_key</span><span
236
246
  class="method-args">()</span>
237
247
  <span class="method-click-advice">click to toggle source</span>
238
248
  </div>
@@ -241,10 +251,10 @@
241
251
  <div class="method-description">
242
252
  <p>Returns the encryption key for the actor.</p>
243
253
 
244
- <div class="method-source-code" id="actor_encryption_key-source">
245
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 153</span>
246
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor_encryption_key</span>
247
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">EncryptionKey</span>.<span class="ruby-identifier">for_record</span>(<span class="ruby-ivar">@actor</span>)&amp;.<span class="ruby-identifier">key</span>
254
+ <div class="method-source-code" id="actor_secret_key-source">
255
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 187</span>
256
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor_secret_key</span>
257
+ <span class="ruby-identifier">encryption_key_for_record</span>(<span class="ruby-ivar">@actor</span>)&amp;.<span class="ruby-identifier">secret_key</span>
248
258
  <span class="ruby-keyword">end</span></pre>
249
259
  </div>
250
260
  </div>
@@ -265,7 +275,7 @@
265
275
  <p>Convert the model name and name space in to ‘base_action’.</p>
266
276
 
267
277
  <div class="method-source-code" id="base_action-source">
268
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 171</span>
278
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 206</span>
269
279
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">base_action</span>
270
280
  <span class="ruby-identifier">name</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;::&#39;</span>, <span class="ruby-string">&#39;/&#39;</span>)
271
281
  <span class="ruby-keyword">end</span></pre>
@@ -273,6 +283,78 @@
273
283
  </div>
274
284
 
275
285
 
286
+ </div>
287
+
288
+ <div id="method-i-build_destroy_payload" class="method-detail ">
289
+ <div class="method-header">
290
+ <div class="method-heading">
291
+ <span class="method-name">build_destroy_payload</span><span
292
+ class="method-args">()</span>
293
+ <span class="method-click-advice">click to toggle source</span>
294
+ </div>
295
+ </div>
296
+
297
+ <div class="method-description">
298
+ <p>Builds destroy payloads for the current action.</p>
299
+
300
+ <div class="method-source-code" id="build_destroy_payload-source">
301
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 106</span>
302
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_destroy_payload</span>
303
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Services</span><span class="ruby-operator">::</span><span class="ruby-constant">DestroyPayloadsBuilder</span>
304
+ .<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@payloads</span>).<span class="ruby-identifier">build</span>
305
+ <span class="ruby-keyword">end</span></pre>
306
+ </div>
307
+ </div>
308
+
309
+
310
+ </div>
311
+
312
+ <div id="method-i-build_payloads" class="method-detail ">
313
+ <div class="method-header">
314
+ <div class="method-heading">
315
+ <span class="method-name">build_payloads</span><span
316
+ class="method-args">()</span>
317
+ <span class="method-click-advice">click to toggle source</span>
318
+ </div>
319
+ </div>
320
+
321
+ <div class="method-description">
322
+ <p>Builds payloads for the current action.</p>
323
+
324
+ <div class="method-source-code" id="build_payloads-source">
325
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 100</span>
326
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_payloads</span>
327
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Services</span><span class="ruby-operator">::</span><span class="ruby-constant">PayloadsBuilder</span>
328
+ .<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@payloads</span>).<span class="ruby-identifier">build</span>
329
+ <span class="ruby-keyword">end</span></pre>
330
+ </div>
331
+ </div>
332
+
333
+
334
+ </div>
335
+
336
+ <div id="method-i-build_update_payloads" class="method-detail ">
337
+ <div class="method-header">
338
+ <div class="method-heading">
339
+ <span class="method-name">build_update_payloads</span><span
340
+ class="method-args">()</span>
341
+ <span class="method-click-advice">click to toggle source</span>
342
+ </div>
343
+ </div>
344
+
345
+ <div class="method-description">
346
+ <p>Builds update payloads for the current action.</p>
347
+
348
+ <div class="method-source-code" id="build_update_payloads-source">
349
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 94</span>
350
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_update_payloads</span>
351
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Services</span><span class="ruby-operator">::</span><span class="ruby-constant">UpdatePayloadsBuilder</span>
352
+ .<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@payloads</span>).<span class="ruby-identifier">build</span>
353
+ <span class="ruby-keyword">end</span></pre>
354
+ </div>
355
+ </div>
356
+
357
+
276
358
  </div>
277
359
 
278
360
  <div id="method-i-create_activity" class="method-detail ">
@@ -288,16 +370,15 @@
288
370
  <p>Creates an activity with the specified payloads.</p>
289
371
 
290
372
  <div class="method-source-code" id="create_activity-source">
291
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 82</span>
373
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 81</span>
292
374
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">create_activity</span>(<span class="ruby-identifier">payloads</span>)
293
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">nothing_to_log?</span>(<span class="ruby-identifier">payloads</span>)
375
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">nothing_to_log?</span>(<span class="ruby-identifier">payloads</span>)
294
376
 
295
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Activity</span>.<span class="ruby-identifier">create!</span>(
296
- <span class="ruby-value">encrypted_actor_display_name:</span> <span class="ruby-identifier">encrypted_actor_name</span>,
297
- <span class="ruby-value">encrypted_record_display_name:</span> <span class="ruby-identifier">encrypted_record_name</span>,
377
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Activity</span>.<span class="ruby-identifier">create!</span>(
378
+ <span class="ruby-value">encrypted_actor_name:</span>,
298
379
  <span class="ruby-value">action:</span> <span class="ruby-identifier">action_key</span>,
299
380
  <span class="ruby-value">actor:</span> <span class="ruby-ivar">@actor</span>,
300
- <span class="ruby-value">record:</span> <span class="ruby-ivar">@record</span>,
381
+ <span class="ruby-value">record:</span> <span class="ruby-keyword">self</span>,
301
382
  <span class="ruby-value">payloads:</span>
302
383
  )
303
384
  <span class="ruby-keyword">end</span></pre>
@@ -320,7 +401,7 @@
320
401
  <p>Returns the model name of the current user.</p>
321
402
 
322
403
  <div class="method-source-code" id="current_user_model-3F-source">
323
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 163</span>
404
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 197</span>
324
405
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">current_user_model?</span>
325
406
  <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">loggable_activity</span>.<span class="ruby-identifier">current_user_model_name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>
326
407
  <span class="ruby-keyword">end</span></pre>
@@ -343,10 +424,56 @@
343
424
  <p>Returns the encrypted name of the actor.</p>
344
425
 
345
426
  <div class="method-source-code" id="encrypted_actor_name-source">
346
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 120</span>
427
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 161</span>
347
428
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypted_actor_name</span>
348
- <span class="ruby-identifier">actor_display_name</span> = <span class="ruby-ivar">@actor</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">actor_display_name_field</span>)
349
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">actor_display_name</span>, <span class="ruby-identifier">actor_encryption_key</span>)
429
+ <span class="ruby-identifier">name</span> = <span class="ruby-ivar">@actor</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">fetch_current_user_name_from</span>)
430
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">actor_secret_key</span>)
431
+ <span class="ruby-keyword">end</span></pre>
432
+ </div>
433
+ </div>
434
+
435
+
436
+ </div>
437
+
438
+ <div id="method-i-encryption_key_for_record" class="method-detail ">
439
+ <div class="method-header">
440
+ <div class="method-heading">
441
+ <span class="method-name">encryption_key_for_record</span><span
442
+ class="method-args">(record = @record)</span>
443
+ <span class="method-click-advice">click to toggle source</span>
444
+ </div>
445
+ </div>
446
+
447
+ <div class="method-description">
448
+ <p>Returns the encryption key for the record.</p>
449
+
450
+ <div class="method-source-code" id="encryption_key_for_record-source">
451
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 182</span>
452
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encryption_key_for_record</span>(<span class="ruby-identifier">record</span> = <span class="ruby-ivar">@record</span>)
453
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">EncryptionKey</span>.<span class="ruby-identifier">for_record</span>(<span class="ruby-identifier">record</span>)
454
+ <span class="ruby-keyword">end</span></pre>
455
+ </div>
456
+ </div>
457
+
458
+
459
+ </div>
460
+
461
+ <div id="method-i-fetch_current_user_name_from" class="method-detail ">
462
+ <div class="method-header">
463
+ <div class="method-heading">
464
+ <span class="method-name">fetch_current_user_name_from</span><span
465
+ class="method-args">()</span>
466
+ <span class="method-click-advice">click to toggle source</span>
467
+ </div>
468
+ </div>
469
+
470
+ <div class="method-description">
471
+ <p>Reads the field to feetch the record name from.</p>
472
+
473
+ <div class="method-source-code" id="fetch_current_user_name_from-source">
474
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 167</span>
475
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">fetch_current_user_name_from</span>
476
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">fetch_current_user_name_from</span>
350
477
  <span class="ruby-keyword">end</span></pre>
351
478
  </div>
352
479
  </div>
@@ -354,28 +481,24 @@
354
481
 
355
482
  </div>
356
483
 
357
- <div id="method-i-encrypted_record_name" class="method-detail ">
484
+ <div id="method-i-hooks_enabled-3F" class="method-detail ">
358
485
  <div class="method-header">
359
486
  <div class="method-heading">
360
- <span class="method-name">encrypted_record_name</span><span
487
+ <span class="method-name">hooks_enabled?</span><span
361
488
  class="method-args">()</span>
362
489
  <span class="method-click-advice">click to toggle source</span>
363
490
  </div>
364
491
  </div>
365
492
 
366
493
  <div class="method-description">
367
- <p>Returns the encrypted name of the record.</p>
368
-
369
- <div class="method-source-code" id="encrypted_record_name-source">
370
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 126</span>
371
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypted_record_name</span>
372
- <span class="ruby-identifier">display_name</span> =
373
- <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">record_display_name</span>.<span class="ruby-identifier">nil?</span>
374
- <span class="ruby-node">&quot;#{self.class.name} id: #{id}&quot;</span>
375
- <span class="ruby-keyword">else</span>
376
- <span class="ruby-identifier">send</span>(<span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">record_display_name</span>.<span class="ruby-identifier">to_sym</span>)
377
- <span class="ruby-keyword">end</span>
378
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">display_name</span>, <span class="ruby-identifier">primary_encryption_key</span>)
494
+ <p><a href="Hooks.html"><code>Hooks</code></a> can disabled when a model is created or updated by a parrent model.</p>
495
+
496
+ <div class="method-source-code" id="hooks_enabled-3F-source">
497
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 128</span>
498
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">hooks_enabled?</span>
499
+ <span class="ruby-identifier">enabled</span> = <span class="ruby-identifier">disable_hooks</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">disable_hooks</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
500
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">disable_hooks</span> = <span class="ruby-keyword">false</span>
501
+ <span class="ruby-identifier">enabled</span>
379
502
  <span class="ruby-keyword">end</span></pre>
380
503
  </div>
381
504
  </div>
@@ -396,7 +519,7 @@
396
519
  <p>Logs an activity for the current action.</p>
397
520
 
398
521
  <div class="method-source-code" id="log_activity-source">
399
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 67</span>
522
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 66</span>
400
523
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_activity</span>
401
524
  <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_payloads</span>)
402
525
  <span class="ruby-keyword">end</span></pre>
@@ -419,8 +542,10 @@
419
542
  <p>Logs a create activity automatically if configured.</p>
420
543
 
421
544
  <div class="method-source-code" id="log_create_activity-source">
422
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 109</span>
545
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 135</span>
423
546
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_create_activity</span>
547
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks_enabled?</span>
548
+
424
549
  <span class="ruby-identifier">log</span>(<span class="ruby-value">:create</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">auto_log</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&#39;create&#39;</span>)
425
550
  <span class="ruby-keyword">end</span></pre>
426
551
  </div>
@@ -442,7 +567,7 @@
442
567
  <p>Logs a custom activity.</p>
443
568
 
444
569
  <div class="method-source-code" id="log_custom_activity-source">
445
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 101</span>
570
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 117</span>
446
571
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_custom_activity</span>(<span class="ruby-identifier">activity</span>); <span class="ruby-keyword">end</span></pre>
447
572
  </div>
448
573
  </div>
@@ -463,7 +588,7 @@
463
588
  <p>Logs an activity for the destroy action.</p>
464
589
 
465
590
  <div class="method-source-code" id="log_destroy-source">
466
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 77</span>
591
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 76</span>
467
592
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_destroy</span>
468
593
  <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_destroy_payload</span>)
469
594
  <span class="ruby-keyword">end</span></pre>
@@ -486,9 +611,11 @@
486
611
  <p>Logs a destroy activity automatically if configured.</p>
487
612
 
488
613
  <div class="method-source-code" id="log_destroy_activity-source">
489
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 114</span>
614
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 142</span>
490
615
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_destroy_activity</span>
491
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">EncryptionKey</span>.<span class="ruby-identifier">for_record</span>(<span class="ruby-keyword">self</span>)&amp;.<span class="ruby-identifier">mark_as_deleted</span>
616
+ <span class="ruby-identifier">mark_encryption_keys_as_deleted</span>
617
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks_enabled?</span>
618
+
492
619
  <span class="ruby-identifier">log</span>(<span class="ruby-value">:destroy</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">auto_log</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&#39;destroy&#39;</span>)
493
620
  <span class="ruby-keyword">end</span></pre>
494
621
  </div>
@@ -510,7 +637,7 @@
510
637
  <p>Logs an activity for the update action.</p>
511
638
 
512
639
  <div class="method-source-code" id="log_update-source">
513
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 72</span>
640
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 71</span>
514
641
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_update</span>
515
642
  <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_update_payloads</span>)
516
643
  <span class="ruby-keyword">end</span></pre>
@@ -533,8 +660,10 @@
533
660
  <p>Logs an update activity automatically if configured.</p>
534
661
 
535
662
  <div class="method-source-code" id="log_update_activity-source">
536
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 104</span>
663
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 120</span>
537
664
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_update_activity</span>
665
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks_enabled?</span>
666
+
538
667
  <span class="ruby-identifier">log</span>(<span class="ruby-value">:update</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">auto_log</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&#39;update&#39;</span>)
539
668
  <span class="ruby-keyword">end</span></pre>
540
669
  </div>
@@ -543,22 +672,26 @@
543
672
 
544
673
  </div>
545
674
 
546
- <div id="method-i-nothing_to_log-3F" class="method-detail ">
675
+ <div id="method-i-mark_encryption_keys_as_deleted" class="method-detail ">
547
676
  <div class="method-header">
548
677
  <div class="method-heading">
549
- <span class="method-name">nothing_to_log?</span><span
550
- class="method-args">(payloads)</span>
678
+ <span class="method-name">mark_encryption_keys_as_deleted</span><span
679
+ class="method-args">()</span>
551
680
  <span class="method-click-advice">click to toggle source</span>
552
681
  </div>
553
682
  </div>
554
683
 
555
684
  <div class="method-description">
556
- <p>Returns true if there are no payloads to log.</p>
557
-
558
- <div class="method-source-code" id="nothing_to_log-3F-source">
559
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 96</span>
560
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">nothing_to_log?</span>(<span class="ruby-identifier">payloads</span>)
561
- <span class="ruby-identifier">payloads</span>.<span class="ruby-identifier">empty?</span>
685
+ <p>Fullfill the needs of the data owners. Mostly this will be performend a few one, from 1 to 5. Enumeration for different payload relation types</p>
686
+
687
+ <div class="method-source-code" id="mark_encryption_keys_as_deleted-source">
688
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 152</span>
689
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">mark_encryption_keys_as_deleted</span>
690
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">EncryptionKey</span>.<span class="ruby-identifier">for_record</span>(<span class="ruby-keyword">self</span>)&amp;.<span class="ruby-identifier">mark_as_deleted!</span>
691
+ <span class="ruby-comment"># data_owners = ::LoggableActivity::DataOwner.where(record: self)</span>
692
+ <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">DataOwner</span>
693
+ .<span class="ruby-identifier">where</span>(<span class="ruby-value">record:</span> <span class="ruby-keyword">self</span>)
694
+ .<span class="ruby-identifier">each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:mark_as_deleted!</span>)
562
695
  <span class="ruby-keyword">end</span></pre>
563
696
  </div>
564
697
  </div>
@@ -566,23 +699,22 @@
566
699
 
567
700
  </div>
568
701
 
569
- <div id="method-i-primary_encryption_key" class="method-detail ">
702
+ <div id="method-i-nothing_to_log-3F" class="method-detail ">
570
703
  <div class="method-header">
571
704
  <div class="method-heading">
572
- <span class="method-name">primary_encryption_key</span><span
573
- class="method-args">()</span>
705
+ <span class="method-name">nothing_to_log?</span><span
706
+ class="method-args">(_payloads)</span>
574
707
  <span class="method-click-advice">click to toggle source</span>
575
708
  </div>
576
709
  </div>
577
710
 
578
711
  <div class="method-description">
579
- <p>Returns the primary encryption key for the activity</p>
712
+ <p>Returns true if there are no payloads to log.</p>
580
713
 
581
- <div class="method-source-code" id="primary_encryption_key-source">
582
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 142</span>
583
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_encryption_key</span>
584
- <span class="ruby-ivar">@primary_encryption_key</span> <span class="ruby-operator">||=</span>
585
- <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">EncryptionKey</span>.<span class="ruby-identifier">for_record</span>(<span class="ruby-keyword">self</span>)&amp;.<span class="ruby-identifier">key</span>
714
+ <div class="method-source-code" id="nothing_to_log-3F-source">
715
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 112</span>
716
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">nothing_to_log?</span>(<span class="ruby-identifier">_payloads</span>)
717
+ <span class="ruby-ivar">@payloads</span>.<span class="ruby-identifier">empty?</span>
586
718
  <span class="ruby-keyword">end</span></pre>
587
719
  </div>
588
720
  </div>
@@ -590,22 +722,22 @@
590
722
 
591
723
  </div>
592
724
 
593
- <div id="method-i-primary_encryption_key_deleted-3F" class="method-detail ">
725
+ <div id="method-i-primary_encryption_key" class="method-detail ">
594
726
  <div class="method-header">
595
727
  <div class="method-heading">
596
- <span class="method-name">primary_encryption_key_deleted?</span><span
728
+ <span class="method-name">primary_encryption_key</span><span
597
729
  class="method-args">()</span>
598
730
  <span class="method-click-advice">click to toggle source</span>
599
731
  </div>
600
732
  </div>
601
733
 
602
734
  <div class="method-description">
603
- <p>Returns true if the primary encryption key is deleted.</p>
735
+ <p>Returns the primary encryption key for the activity</p>
604
736
 
605
- <div class="method-source-code" id="primary_encryption_key_deleted-3F-source">
606
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 148</span>
607
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_encryption_key_deleted?</span>
608
- <span class="ruby-identifier">primary_encryption_key</span>.<span class="ruby-identifier">nil?</span>
737
+ <div class="method-source-code" id="primary_encryption_key-source">
738
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 177</span>
739
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_encryption_key</span>
740
+ <span class="ruby-identifier">encryption_key_for_record</span>
609
741
  <span class="ruby-keyword">end</span></pre>
610
742
  </div>
611
743
  </div>