loggable_activity 0.1.56 → 0.1.58

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 (70) 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/binary_ids/create_loggable_activities.rb +9 -10
  30. data/lib/generators/loggable_activity/templates/create_loggable_activities.rb +16 -13
  31. data/lib/loggable_activity/activity.rb +53 -102
  32. data/lib/loggable_activity/configuration.rb +60 -3
  33. data/lib/loggable_activity/data_owner.rb +18 -0
  34. data/lib/loggable_activity/encryption.rb +14 -14
  35. data/lib/loggable_activity/encryption_key.rb +26 -25
  36. data/lib/loggable_activity/error.rb +34 -0
  37. data/lib/loggable_activity/hooks.rb +78 -43
  38. data/lib/loggable_activity/payload.rb +70 -20
  39. data/lib/loggable_activity/services/base_payloads_builder.rb +127 -0
  40. data/lib/loggable_activity/services/destroy_payloads_builder.rb +127 -0
  41. data/lib/loggable_activity/services/payloads_builder.rb +98 -0
  42. data/lib/loggable_activity/services/update_payloads_builder.rb +168 -0
  43. data/lib/loggable_activity/version.rb +1 -1
  44. data/lib/loggable_activity.rb +6 -6
  45. data/lib/schemas/config_schema.json +90 -0
  46. metadata +37 -26
  47. data/docs/LoggableActivity/PayloadsBuilder.html +0 -441
  48. data/docs/LoggableActivity/UpdatePayloadsBuilder.html +0 -424
  49. data/lib/generators/loggable_activity/install_templates_generator.rb +0 -105
  50. data/lib/generators/loggable_activity/templates/helpers/activity_helper.rb +0 -37
  51. data/lib/generators/loggable_activity/templates/helpers/router.rb +0 -52
  52. data/lib/generators/loggable_activity/templates/helpers/routes_helper.rb +0 -20
  53. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +0 -23
  54. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +0 -18
  55. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +0 -18
  56. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +0 -17
  57. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +0 -18
  58. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +0 -17
  59. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +0 -18
  60. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +0 -12
  61. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +0 -12
  62. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +0 -11
  63. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +0 -8
  64. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +0 -6
  65. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +0 -17
  66. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +0 -14
  67. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +0 -23
  68. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +0 -21
  69. data/lib/loggable_activity/payloads_builder.rb +0 -153
  70. 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>