loggable_activity 0.1.52 → 0.1.53
Sign up to get free protection for your applications and to get access to all the features.
- 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>)
|