loggable_activity 0.1.52 → 0.1.53

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -1
  3. data/GETTING-STARTED.md +102 -41
  4. data/README.md +3 -0
  5. data/docs/LoggableActivity/Activity.html +44 -16
  6. data/docs/LoggableActivity/Encryption.html +31 -24
  7. data/docs/LoggableActivity/EncryptionKey.html +10 -7
  8. data/docs/LoggableActivity/Hooks.html +19 -19
  9. data/docs/LoggableActivity/Payload.html +7 -7
  10. data/docs/LoggableActivity/PayloadsBuilder.html +75 -22
  11. data/docs/LoggableActivity/UpdatePayloadsBuilder.html +66 -67
  12. data/docs/created.rid +10 -10
  13. data/docs/js/search_index.js +1 -1
  14. data/docs/js/search_index.js.gz +0 -0
  15. data/docs/table_of_contents.html +25 -0
  16. data/lib/generators/.DS_Store +0 -0
  17. data/lib/generators/loggable_activity/.DS_Store +0 -0
  18. data/lib/generators/loggable_activity/install_generator.rb +11 -6
  19. data/lib/generators/loggable_activity/install_templates_generator.rb +42 -0
  20. data/lib/generators/loggable_activity/templates/config/locales/loggable_activity.en.yml +36 -0
  21. data/lib/generators/loggable_activity/templates/helpers/loggable_activity_helper.rb +49 -0
  22. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +23 -0
  23. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +18 -0
  24. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +18 -0
  25. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +17 -0
  26. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +18 -0
  27. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +17 -0
  28. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +18 -0
  29. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +12 -0
  30. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +12 -0
  31. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +11 -0
  32. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +8 -0
  33. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +6 -0
  34. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +17 -0
  35. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +14 -0
  36. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +23 -0
  37. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +21 -0
  38. data/lib/loggable_activity/payloads_builder.rb +3 -19
  39. data/lib/loggable_activity/update_payloads_builder.rb +18 -60
  40. data/lib/loggable_activity/version.rb +1 -1
  41. metadata +34 -15
  42. /data/lib/generators/loggable_activity/templates/{loggable_activity.yml → config/loggable_activity.yml} +0 -0
@@ -147,7 +147,7 @@
147
147
  @param params [Hash] Additional parameters for the activity.</pre>
148
148
 
149
149
  <div class="method-source-code" id="log-source">
150
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 38</span>
150
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 40</span>
151
151
  <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
152
  <span class="ruby-ivar">@action</span> = <span class="ruby-identifier">action</span>
153
153
  <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>]
@@ -196,7 +196,7 @@
196
196
 
197
197
 
198
198
  <div class="method-source-code" id="action_key-source">
199
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 122</span>
199
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 124</span>
200
200
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">action_key</span>
201
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>
202
202
  <span class="ruby-keyword">end</span></pre>
@@ -219,7 +219,7 @@
219
219
 
220
220
 
221
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 139</span>
222
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 141</span>
223
223
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor_display_name_field</span>
224
224
  <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
225
  <span class="ruby-keyword">end</span></pre>
@@ -242,7 +242,7 @@
242
242
 
243
243
 
244
244
  <div class="method-source-code" id="actor_encryption_key-source">
245
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 135</span>
245
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 137</span>
246
246
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor_encryption_key</span>
247
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>
248
248
  <span class="ruby-keyword">end</span></pre>
@@ -265,7 +265,7 @@
265
265
 
266
266
 
267
267
  <div class="method-source-code" id="base_action-source">
268
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 150</span>
268
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 152</span>
269
269
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">base_action</span>
270
270
  <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
271
  <span class="ruby-keyword">end</span></pre>
@@ -288,7 +288,7 @@
288
288
 
289
289
 
290
290
  <div class="method-source-code" id="create_activity-source">
291
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 75</span>
291
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 77</span>
292
292
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">create_activity</span>(<span class="ruby-identifier">payloads</span>)
293
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>)
294
294
 
@@ -320,7 +320,7 @@
320
320
 
321
321
 
322
322
  <div class="method-source-code" id="current_user_model-3F-source">
323
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 143</span>
323
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 145</span>
324
324
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">current_user_model?</span>
325
325
  <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
326
  <span class="ruby-keyword">end</span></pre>
@@ -343,7 +343,7 @@
343
343
 
344
344
 
345
345
  <div class="method-source-code" id="encrypted_actor_name-source">
346
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 107</span>
346
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 109</span>
347
347
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypted_actor_name</span>
348
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
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>)
@@ -367,7 +367,7 @@
367
367
 
368
368
 
369
369
  <div class="method-source-code" id="encrypted_record_name-source">
370
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 112</span>
370
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 114</span>
371
371
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypted_record_name</span>
372
372
  <span class="ruby-identifier">display_name</span> =
373
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>
@@ -396,7 +396,7 @@
396
396
 
397
397
 
398
398
  <div class="method-source-code" id="log_activity-source">
399
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 63</span>
399
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 65</span>
400
400
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_activity</span>
401
401
  <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_payloads</span>)
402
402
  <span class="ruby-keyword">end</span></pre>
@@ -419,7 +419,7 @@
419
419
 
420
420
 
421
421
  <div class="method-source-code" id="log_create_activity-source">
422
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 98</span>
422
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 100</span>
423
423
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_create_activity</span>
424
424
  <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
425
  <span class="ruby-keyword">end</span></pre>
@@ -442,7 +442,7 @@
442
442
 
443
443
 
444
444
  <div class="method-source-code" id="log_custom_activity-source">
445
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 92</span>
445
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 94</span>
446
446
  <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
447
  </div>
448
448
  </div>
@@ -463,7 +463,7 @@
463
463
 
464
464
 
465
465
  <div class="method-source-code" id="log_destroy-source">
466
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 71</span>
466
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 73</span>
467
467
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_destroy</span>
468
468
  <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_destroy_payload</span>)
469
469
  <span class="ruby-keyword">end</span></pre>
@@ -486,7 +486,7 @@
486
486
 
487
487
 
488
488
  <div class="method-source-code" id="log_destroy_activity-source">
489
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 102</span>
489
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 104</span>
490
490
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_destroy_activity</span>
491
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>
492
492
  <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>)
@@ -510,7 +510,7 @@
510
510
 
511
511
 
512
512
  <div class="method-source-code" id="log_update-source">
513
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 67</span>
513
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 69</span>
514
514
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_update</span>
515
515
  <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_update_payloads</span>)
516
516
  <span class="ruby-keyword">end</span></pre>
@@ -533,7 +533,7 @@
533
533
 
534
534
 
535
535
  <div class="method-source-code" id="log_update_activity-source">
536
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 94</span>
536
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 96</span>
537
537
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_update_activity</span>
538
538
  <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
539
  <span class="ruby-keyword">end</span></pre>
@@ -556,7 +556,7 @@
556
556
 
557
557
 
558
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 88</span>
559
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 90</span>
560
560
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">nothing_to_log?</span>(<span class="ruby-identifier">payloads</span>)
561
561
  <span class="ruby-identifier">payloads</span>.<span class="ruby-identifier">empty?</span>
562
562
  <span class="ruby-keyword">end</span></pre>
@@ -579,7 +579,7 @@
579
579
 
580
580
 
581
581
  <div class="method-source-code" id="primary_encryption_key-source">
582
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 126</span>
582
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 128</span>
583
583
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_encryption_key</span>
584
584
  <span class="ruby-ivar">@primary_encryption_key</span> <span class="ruby-operator">||=</span>
585
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>
@@ -603,7 +603,7 @@
603
603
 
604
604
 
605
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 131</span>
606
+ <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 133</span>
607
607
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_encryption_key_deleted?</span>
608
608
  <span class="ruby-identifier">primary_encryption_key</span>.<span class="ruby-identifier">nil?</span>
609
609
  <span class="ruby-keyword">end</span></pre>
@@ -134,7 +134,7 @@ Returns:
134
134
  }</pre>
135
135
 
136
136
  <div class="method-source-code" id="attrs-source">
137
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 40</span>
137
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 42</span>
138
138
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">attrs</span>
139
139
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">deleted_attrs</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">record</span>.<span class="ruby-identifier">nil?</span>
140
140
 
@@ -173,7 +173,7 @@ Returns:
173
173
  <p>@param value [String] The encrypted value to decrypt. @return [String] The decrypted value.</p>
174
174
 
175
175
  <div class="method-source-code" id="decrypt_attr-source">
176
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 101</span>
176
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 103</span>
177
177
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypt_attr</span>(<span class="ruby-identifier">value</span>)
178
178
  <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">decrypt</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">payload_encryption_key</span>)
179
179
  <span class="ruby-keyword">end</span></pre>
@@ -198,7 +198,7 @@ Returns:
198
198
  <p>@return [Hash] The decrypted attributes.</p>
199
199
 
200
200
  <div class="method-source-code" id="decrypted_attrs-source">
201
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 91</span>
201
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 93</span>
202
202
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_attrs</span>
203
203
  <span class="ruby-identifier">encrypted_attrs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
204
204
  <span class="ruby-identifier">encrypted_attrs</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">decrypt_attr</span>(<span class="ruby-identifier">value</span>)
@@ -225,7 +225,7 @@ Returns:
225
225
  <p>@param change [Hash] The change hash containing ‘from’ and ‘to’ values. @return [Hash] The decrypted ‘from’ and ‘to’ values.</p>
226
226
 
227
227
  <div class="method-source-code" id="decrypted_from_to_attr-source">
228
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 80</span>
228
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 82</span>
229
229
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_from_to_attr</span>(<span class="ruby-identifier">change</span>)
230
230
  <span class="ruby-identifier">change</span>.<span class="ruby-identifier">to_h</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
231
231
  <span class="ruby-identifier">from</span> = <span class="ruby-identifier">decrypt_attr</span>(<span class="ruby-identifier">value</span>[<span class="ruby-string">&#39;from&#39;</span>])
@@ -254,7 +254,7 @@ Returns:
254
254
  <p>@return [Array&lt;Hash&gt;] The array of decrypted changes.</p>
255
255
 
256
256
  <div class="method-source-code" id="decrypted_update_attrs-source">
257
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 70</span>
257
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 72</span>
258
258
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_update_attrs</span>
259
259
  <span class="ruby-identifier">encrypted_attrs</span>[<span class="ruby-string">&#39;changes&#39;</span>].<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">change</span><span class="ruby-operator">|</span>
260
260
  <span class="ruby-identifier">decrypted_from_to_attr</span>(<span class="ruby-identifier">change</span>)
@@ -281,7 +281,7 @@ Returns:
281
281
  <p>@return [Hash] The hash with deleted attributes.</p>
282
282
 
283
283
  <div class="method-source-code" id="deleted_attrs-source">
284
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 63</span>
284
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 65</span>
285
285
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">deleted_attrs</span>
286
286
  <span class="ruby-identifier">encrypted_attrs</span>.<span class="ruby-identifier">transform_values!</span> { <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">&#39;loggable.activity.deleted&#39;</span>) }
287
287
  <span class="ruby-keyword">end</span></pre>
@@ -306,7 +306,7 @@ Returns:
306
306
  <p>@return [String, nil] The encryption key.</p>
307
307
 
308
308
  <div class="method-source-code" id="payload_encryption_key-source">
309
- <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 56</span>
309
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 58</span>
310
310
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">payload_encryption_key</span>
311
311
  <span class="ruby-ivar">@payload_encryption_key</span> <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>)&amp;.<span class="ruby-identifier">key</span>
312
312
  <span class="ruby-keyword">end</span></pre>
@@ -67,7 +67,9 @@
67
67
 
68
68
  <ul class="link-list" role="directory">
69
69
  <li ><a href="#method-i-associated_record_encryption_key">#associated_record_encryption_key</a>
70
+ <li ><a href="#method-i-build_associated_payload">#build_associated_payload</a>
70
71
  <li ><a href="#method-i-build_destroy_payload">#build_destroy_payload</a>
72
+ <li ><a href="#method-i-build_has_many_payloads">#build_has_many_payloads</a>
71
73
  <li ><a href="#method-i-build_payload">#build_payload</a>
72
74
  <li ><a href="#method-i-build_payloads">#build_payloads</a>
73
75
  <li ><a href="#method-i-build_primary_payload">#build_primary_payload</a>
@@ -169,7 +171,7 @@ Returns:
169
171
  <p>@param associated_record [ActiveRecord::Base] The associated record. @param data_owner [Boolean] Whether the associated record is the owner of the data. @return [LoggableActivity::EncryptionKey] The encryption key for the associated record.</p>
170
172
 
171
173
  <div class="method-source-code" id="associated_record_encryption_key-source">
172
- <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 105</span>
174
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 120</span>
173
175
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">associated_record_encryption_key</span>(<span class="ruby-identifier">associated_record</span>, <span class="ruby-identifier">data_owner</span>)
174
176
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">data_owner</span>
175
177
  <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">associated_record</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>))
@@ -181,6 +183,43 @@ Returns:
181
183
  </div>
182
184
 
183
185
 
186
+ </div>
187
+
188
+ <div id="method-i-build_associated_payload" class="method-detail ">
189
+ <div class="method-header">
190
+ <div class="method-heading">
191
+ <span class="method-name">build_associated_payload</span><span
192
+ class="method-args">(associated_record, relation_config)</span>
193
+ <span class="method-click-advice">click to toggle source</span>
194
+ </div>
195
+ </div>
196
+
197
+ <div class="method-description">
198
+ <p>Builds the payload for an associated record.</p>
199
+
200
+ <div class="method-source-code" id="build_associated_payload-source">
201
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 97</span>
202
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_associated_payload</span>(<span class="ruby-identifier">associated_record</span>, <span class="ruby-identifier">relation_config</span>)
203
+ <span class="ruby-identifier">associated_loggable_attrs</span> = <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">&#39;loggable_attrs&#39;</span>]
204
+ <span class="ruby-identifier">encryption_key</span> = <span class="ruby-identifier">associated_record_encryption_key</span>(<span class="ruby-identifier">associated_record</span>, <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">&#39;data_owner&#39;</span>])
205
+ <span class="ruby-identifier">encrypted_attrs</span> =
206
+ <span class="ruby-identifier">encrypt_attrs</span>(
207
+ <span class="ruby-identifier">associated_record</span>.<span class="ruby-identifier">attributes</span>,
208
+ <span class="ruby-identifier">associated_loggable_attrs</span>,
209
+ <span class="ruby-identifier">encryption_key</span>.<span class="ruby-identifier">key</span>
210
+ )
211
+
212
+ <span class="ruby-ivar">@payloads</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Payload</span>.<span class="ruby-identifier">new</span>(
213
+ <span class="ruby-value">record:</span> <span class="ruby-identifier">associated_record</span>,
214
+ <span class="ruby-value">encrypted_attrs:</span>,
215
+ <span class="ruby-value">payload_type:</span> <span class="ruby-string">&#39;current_association&#39;</span>,
216
+ <span class="ruby-value">data_owner:</span> <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">&#39;data_owner&#39;</span>]
217
+ )
218
+ <span class="ruby-keyword">end</span></pre>
219
+ </div>
220
+ </div>
221
+
222
+
184
223
  </div>
185
224
 
186
225
  <div id="method-i-build_destroy_payload" class="method-detail ">
@@ -211,6 +250,34 @@ Returns:
211
250
  </div>
212
251
 
213
252
 
253
+ </div>
254
+
255
+ <div id="method-i-build_has_many_payloads" class="method-detail ">
256
+ <div class="method-header">
257
+ <div class="method-heading">
258
+ <span class="method-name">build_has_many_payloads</span><span
259
+ class="method-args">(relation_config, relation_type)</span>
260
+ <span class="method-click-advice">click to toggle source</span>
261
+ </div>
262
+ </div>
263
+
264
+ <div class="method-description">
265
+ <p>Builds payloads for has_many relations.</p>
266
+
267
+ <div class="method-source-code" id="build_has_many_payloads-source">
268
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 87</span>
269
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_has_many_payloads</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-identifier">relation_type</span>)
270
+ <span class="ruby-identifier">associated_records</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">relation_config</span>[<span class="ruby-identifier">relation_type</span>])
271
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">associated_records</span>.<span class="ruby-identifier">empty?</span>
272
+
273
+ <span class="ruby-identifier">associated_records</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">associated_record</span><span class="ruby-operator">|</span>
274
+ <span class="ruby-identifier">build_associated_payload</span>(<span class="ruby-identifier">associated_record</span>, <span class="ruby-identifier">relation_config</span>)
275
+ <span class="ruby-keyword">end</span>
276
+ <span class="ruby-keyword">end</span></pre>
277
+ </div>
278
+ </div>
279
+
280
+
214
281
  </div>
215
282
 
216
283
  <div id="method-i-build_payload" class="method-detail ">
@@ -228,28 +295,12 @@ Returns:
228
295
  <p>@param relation_config [Hash] The configuration of the relation. @param relation_type [String] The type of the relation.</p>
229
296
 
230
297
  <div class="method-source-code" id="build_payload-source">
231
- <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 77</span>
298
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 79</span>
232
299
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_payload</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-identifier">relation_type</span>)
233
300
  <span class="ruby-identifier">associated_record</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">relation_config</span>[<span class="ruby-identifier">relation_type</span>])
234
301
  <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">associated_record</span>.<span class="ruby-identifier">nil?</span>
235
302
 
236
- <span class="ruby-identifier">associated_loggable_attrs</span> = <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">&#39;loggable_attrs&#39;</span>]
237
-
238
- <span class="ruby-identifier">encryption_key</span> = <span class="ruby-identifier">associated_record_encryption_key</span>(<span class="ruby-identifier">associated_record</span>, <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">&#39;data_owner&#39;</span>])
239
-
240
- <span class="ruby-identifier">encrypted_attrs</span> =
241
- <span class="ruby-identifier">encrypt_attrs</span>(
242
- <span class="ruby-identifier">associated_record</span>.<span class="ruby-identifier">attributes</span>,
243
- <span class="ruby-identifier">associated_loggable_attrs</span>,
244
- <span class="ruby-identifier">encryption_key</span>.<span class="ruby-identifier">key</span>
245
- )
246
-
247
- <span class="ruby-ivar">@payloads</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Payload</span>.<span class="ruby-identifier">new</span>(
248
- <span class="ruby-value">record:</span> <span class="ruby-identifier">associated_record</span>,
249
- <span class="ruby-value">encrypted_attrs:</span>,
250
- <span class="ruby-value">payload_type:</span> <span class="ruby-string">&#39;current_association&#39;</span>,
251
- <span class="ruby-value">data_owner:</span> <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">&#39;data_owner&#39;</span>]
252
- )
303
+ <span class="ruby-identifier">build_associated_payload</span>(<span class="ruby-identifier">associated_record</span>, <span class="ruby-identifier">relation_config</span>)
253
304
  <span class="ruby-keyword">end</span></pre>
254
305
  </div>
255
306
  </div>
@@ -296,7 +347,7 @@ Returns:
296
347
  </div>
297
348
 
298
349
  <div class="method-description">
299
- <p>Builds payloads for related records.</p>
350
+ <p>Builds payloads for relations</p>
300
351
 
301
352
  <p>@param relation_config [Hash] The configuration of the relation.</p>
302
353
 
@@ -309,6 +360,8 @@ Returns:
309
360
  <span class="ruby-identifier">build_payload</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-string">&#39;belongs_to&#39;</span>)
310
361
  <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;has_one&#39;</span>
311
362
  <span class="ruby-identifier">build_payload</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-string">&#39;has_one&#39;</span>)
363
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;has_many&#39;</span>
364
+ <span class="ruby-identifier">build_has_many_payloads</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-string">&#39;has_many&#39;</span>)
312
365
  <span class="ruby-keyword">end</span>
313
366
  <span class="ruby-keyword">end</span>
314
367
  <span class="ruby-keyword">end</span></pre>
@@ -333,7 +386,7 @@ Returns:
333
386
  <p>@param attrs [Hash] The attributes to be encrypted. @param encryption_key [String] The encryption key. @return [Hash] The encrypted attributes.</p>
334
387
 
335
388
  <div class="method-source-code" id="encrypt_attr-source">
336
- <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 129</span>
389
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 144</span>
337
390
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypt_attr</span>(<span class="ruby-identifier">attrs</span>, <span class="ruby-identifier">encryption_key</span>)
338
391
  <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
339
392
  <span class="ruby-identifier">attrs</span>[<span class="ruby-identifier">key</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">value</span>, <span class="ruby-identifier">encryption_key</span>)
@@ -360,7 +413,7 @@ Returns:
360
413
  <p>@param attrs [Hash] The attributes to be encrypted. @param loggable_attrs [Array&lt;String&gt;] The loggable attributes. @param encryption_key [String] The encryption key. @return [Hash] The encrypted attributes.</p>
361
414
 
362
415
  <div class="method-source-code" id="encrypt_attrs-source">
363
- <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 119</span>
416
+ <pre><span class="ruby-comment"># File lib/loggable_activity/payloads_builder.rb, line 134</span>
364
417
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypt_attrs</span>(<span class="ruby-identifier">attrs</span>, <span class="ruby-identifier">loggable_attrs</span>, <span class="ruby-identifier">encryption_key</span>)
365
418
  <span class="ruby-identifier">attrs</span> = <span class="ruby-identifier">attrs</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">loggable_attrs</span>)
366
419
  <span class="ruby-identifier">encrypt_attr</span>(<span class="ruby-identifier">attrs</span>, <span class="ruby-identifier">encryption_key</span>)