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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/GETTING-STARTED.md +102 -41
- data/README.md +3 -0
- data/docs/LoggableActivity/Activity.html +44 -16
- data/docs/LoggableActivity/Encryption.html +31 -24
- data/docs/LoggableActivity/EncryptionKey.html +10 -7
- data/docs/LoggableActivity/Hooks.html +19 -19
- data/docs/LoggableActivity/Payload.html +7 -7
- data/docs/LoggableActivity/PayloadsBuilder.html +75 -22
- data/docs/LoggableActivity/UpdatePayloadsBuilder.html +66 -67
- data/docs/created.rid +10 -10
- data/docs/js/search_index.js +1 -1
- data/docs/js/search_index.js.gz +0 -0
- data/docs/table_of_contents.html +25 -0
- data/lib/generators/.DS_Store +0 -0
- data/lib/generators/loggable_activity/.DS_Store +0 -0
- data/lib/generators/loggable_activity/install_generator.rb +11 -6
- data/lib/generators/loggable_activity/install_templates_generator.rb +42 -0
- data/lib/generators/loggable_activity/templates/config/locales/loggable_activity.en.yml +36 -0
- data/lib/generators/loggable_activity/templates/helpers/loggable_activity_helper.rb +49 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +23 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +17 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +17 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +12 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +12 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +11 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +8 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +6 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +17 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +14 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +23 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +21 -0
- data/lib/loggable_activity/payloads_builder.rb +3 -19
- data/lib/loggable_activity/update_payloads_builder.rb +18 -60
- data/lib/loggable_activity/version.rb +1 -1
- metadata +34 -15
- /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
|
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
|
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">".#{@action}"</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
|
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">"id: #{@actor.id}, class: #{@actor.class.name}"</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
|
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>)&.<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
|
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">'::'</span>, <span class="ruby-string">'/'</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
|
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
|
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
|
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
|
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
|
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
|
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">'create'</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
|
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
|
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
|
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>)&.<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">'destroy'</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
|
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
|
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">'update'</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
|
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
|
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>)&.<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
|
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
|
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
|
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
|
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
|
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">'from'</span>])
|
@@ -254,7 +254,7 @@ Returns:
|
|
254
254
|
<p>@return [Array<Hash>] 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
|
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">'changes'</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
|
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">'loggable.activity.deleted'</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
|
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>)&.<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
|
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">'loggable_attrs'</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">'data_owner'</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"><<</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">'current_association'</span>,
|
216
|
+
<span class="ruby-value">data_owner:</span> <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">'data_owner'</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
|
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">
|
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">'data_owner'</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"><<</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">'current_association'</span>,
|
251
|
-
<span class="ruby-value">data_owner:</span> <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">'data_owner'</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
|
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">'belongs_to'</span>)
|
310
361
|
<span class="ruby-keyword">when</span> <span class="ruby-string">'has_one'</span>
|
311
362
|
<span class="ruby-identifier">build_payload</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-string">'has_one'</span>)
|
363
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'has_many'</span>
|
364
|
+
<span class="ruby-identifier">build_has_many_payloads</span>(<span class="ruby-identifier">relation_config</span>, <span class="ruby-string">'has_many'</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
|
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<String>] 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
|
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>)
|