loggable_activity 0.1.56 → 0.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +10 -1
- data/CHANGELOG.md +9 -0
- data/GETTING-STARTED.md +8 -47
- data/PAYLOAD_EXAMPLE.md +63 -0
- data/docs/LoggableActivity/Activity.html +92 -241
- data/docs/LoggableActivity/Configuration.html +162 -15
- data/docs/LoggableActivity/ConfigurationError.html +148 -0
- data/docs/LoggableActivity/DataOwner.html +138 -0
- data/docs/LoggableActivity/Encryption.html +18 -14
- data/docs/LoggableActivity/EncryptionError.html +47 -1
- data/docs/LoggableActivity/EncryptionKey.html +54 -35
- data/docs/LoggableActivity/Error.html +48 -0
- data/docs/LoggableActivity/Hooks.html +221 -89
- data/docs/LoggableActivity/Payload.html +103 -27
- data/docs/LoggableActivity/Services/BasePayloadsBuilder.html +442 -0
- data/docs/LoggableActivity/Services/DestroyPayloadsBuilder.html +395 -0
- data/docs/LoggableActivity/Services/PayloadsBuilder.html +342 -0
- data/docs/LoggableActivity/Services/UpdatePayloadsBuilder.html +490 -0
- data/docs/LoggableActivity/Services.html +93 -0
- data/docs/created.rid +14 -10
- data/docs/index.html +10 -2
- data/docs/js/navigation.js.gz +0 -0
- data/docs/js/search_index.js +1 -1
- data/docs/js/search_index.js.gz +0 -0
- data/docs/js/searcher.js.gz +0 -0
- data/docs/table_of_contents.html +253 -85
- data/lib/generators/loggable_activity/install_generator.rb +2 -18
- data/lib/generators/loggable_activity/templates/binary_ids/create_loggable_activities.rb +9 -10
- data/lib/generators/loggable_activity/templates/create_loggable_activities.rb +16 -13
- data/lib/loggable_activity/activity.rb +53 -102
- data/lib/loggable_activity/configuration.rb +60 -3
- data/lib/loggable_activity/data_owner.rb +18 -0
- data/lib/loggable_activity/encryption.rb +14 -14
- data/lib/loggable_activity/encryption_key.rb +26 -25
- data/lib/loggable_activity/error.rb +34 -0
- data/lib/loggable_activity/hooks.rb +78 -43
- data/lib/loggable_activity/payload.rb +70 -20
- data/lib/loggable_activity/services/base_payloads_builder.rb +127 -0
- data/lib/loggable_activity/services/destroy_payloads_builder.rb +127 -0
- data/lib/loggable_activity/services/payloads_builder.rb +98 -0
- data/lib/loggable_activity/services/update_payloads_builder.rb +168 -0
- data/lib/loggable_activity/version.rb +1 -1
- data/lib/loggable_activity.rb +6 -6
- data/lib/schemas/config_schema.json +90 -0
- metadata +37 -26
- data/docs/LoggableActivity/PayloadsBuilder.html +0 -441
- data/docs/LoggableActivity/UpdatePayloadsBuilder.html +0 -424
- data/lib/generators/loggable_activity/install_templates_generator.rb +0 -105
- data/lib/generators/loggable_activity/templates/helpers/activity_helper.rb +0 -37
- data/lib/generators/loggable_activity/templates/helpers/router.rb +0 -52
- data/lib/generators/loggable_activity/templates/helpers/routes_helper.rb +0 -20
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +0 -23
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +0 -18
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +0 -18
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +0 -17
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +0 -18
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +0 -17
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +0 -18
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +0 -12
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +0 -12
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +0 -11
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +0 -8
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +0 -6
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +0 -17
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +0 -14
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +0 -23
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +0 -21
- data/lib/loggable_activity/payloads_builder.rb +0 -153
- data/lib/loggable_activity/update_payloads_builder.rb +0 -127
@@ -77,9 +77,11 @@
|
|
77
77
|
<li ><a href="#method-i-decrypted_attrs">#decrypted_attrs</a>
|
78
78
|
<li ><a href="#method-i-decrypted_from_to_attr">#decrypted_from_to_attr</a>
|
79
79
|
<li ><a href="#method-i-decrypted_update_attrs">#decrypted_update_attrs</a>
|
80
|
+
<li ><a href="#method-i-deleted-3F">#deleted?</a>
|
80
81
|
<li ><a href="#method-i-deleted_attrs">#deleted_attrs</a>
|
81
|
-
<li ><a href="#method-i-payload_encryption_key">#payload_encryption_key</a>
|
82
82
|
<li ><a href="#method-i-payload_route">#payload_route</a>
|
83
|
+
<li ><a href="#method-i-record_display_name">#record_display_name</a>
|
84
|
+
<li ><a href="#method-i-secret_key">#secret_key</a>
|
83
85
|
</ul>
|
84
86
|
</div>
|
85
87
|
|
@@ -100,6 +102,17 @@
|
|
100
102
|
<section id="5Buntitled-5D" class="documentation-section">
|
101
103
|
|
102
104
|
|
105
|
+
<section class="constants-list">
|
106
|
+
<header>
|
107
|
+
<h3>Constants</h3>
|
108
|
+
</header>
|
109
|
+
<dl>
|
110
|
+
<dt id="DECRYPT_ATTRS_TYPES">DECRYPT_ATTRS_TYPES
|
111
|
+
<dd><p>Enumeration for different payload types</p>
|
112
|
+
<dt id="DECRYPT_UPDATE_ATTRS_TYPES">DECRYPT_UPDATE_ATTRS_TYPES
|
113
|
+
<dd><p>Enumeration for different updatepayload types</p>
|
114
|
+
</dl>
|
115
|
+
</section>
|
103
116
|
|
104
117
|
|
105
118
|
|
@@ -118,7 +131,7 @@
|
|
118
131
|
</div>
|
119
132
|
|
120
133
|
<div class="method-description">
|
121
|
-
<p>Returns the decrypted
|
134
|
+
<p>Returns the decrypted attrs.</p>
|
122
135
|
|
123
136
|
<p>@return [Hash] The decrypted attributes.</p>
|
124
137
|
|
@@ -127,29 +140,51 @@
|
|
127
140
|
<pre>payload.attrs
|
128
141
|
|
129
142
|
Returns:
|
130
|
-
{
|
131
|
-
"street" => "Machu Picchu",
|
132
|
-
"city" => "Aguas Calientes",
|
133
|
-
"country" => "Peru",
|
134
|
-
"postal_code" => "08680"
|
135
|
-
}</pre>
|
143
|
+
{ "street" => "Machu Picchu", "city" => "Cusco" }</pre>
|
136
144
|
|
137
145
|
<div class="method-source-code" id="attrs-source">
|
138
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
146
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 64</span>
|
139
147
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">attrs</span>
|
140
148
|
<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>
|
141
149
|
|
142
|
-
<span class="ruby-keyword">case</span> <span class="ruby-identifier">
|
143
|
-
<span class="ruby-keyword">when</span> <span class="ruby-
|
150
|
+
<span class="ruby-keyword">case</span> <span class="ruby-identifier">related_to_activity_as</span>
|
151
|
+
<span class="ruby-keyword">when</span> <span class="ruby-operator">*</span><span class="ruby-constant">DECRYPT_ATTRS_TYPES</span>
|
144
152
|
<span class="ruby-identifier">decrypted_attrs</span>
|
145
|
-
<span class="ruby-keyword">when</span> <span class="ruby-
|
153
|
+
<span class="ruby-keyword">when</span> <span class="ruby-operator">*</span><span class="ruby-constant">DECRYPT_UPDATE_ATTRS_TYPES</span>
|
146
154
|
<span class="ruby-identifier">decrypted_update_attrs</span>
|
155
|
+
<span class="ruby-keyword">else</span>
|
156
|
+
{}
|
147
157
|
<span class="ruby-keyword">end</span>
|
148
158
|
<span class="ruby-keyword">end</span></pre>
|
149
159
|
</div>
|
150
160
|
</div>
|
151
161
|
|
152
162
|
|
163
|
+
</div>
|
164
|
+
|
165
|
+
<div id="method-i-deleted-3F" class="method-detail ">
|
166
|
+
<div class="method-header">
|
167
|
+
<div class="method-heading">
|
168
|
+
<span class="method-name">deleted?</span><span
|
169
|
+
class="method-args">()</span>
|
170
|
+
<span class="method-click-advice">click to toggle source</span>
|
171
|
+
</div>
|
172
|
+
</div>
|
173
|
+
|
174
|
+
<div class="method-description">
|
175
|
+
<p>Check if the record has been deleted.</p>
|
176
|
+
|
177
|
+
<p>@return [Boolean] True if the record has been deleted.</p>
|
178
|
+
|
179
|
+
<div class="method-source-code" id="deleted-3F-source">
|
180
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 104</span>
|
181
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">deleted?</span>
|
182
|
+
<span class="ruby-identifier">encryption_key</span>.<span class="ruby-identifier">deleted?</span>
|
183
|
+
<span class="ruby-keyword">end</span></pre>
|
184
|
+
</div>
|
185
|
+
</div>
|
186
|
+
|
187
|
+
|
153
188
|
</div>
|
154
189
|
|
155
190
|
<div id="method-i-payload_route" class="method-detail ">
|
@@ -162,12 +197,19 @@ Returns:
|
|
162
197
|
</div>
|
163
198
|
|
164
199
|
<div class="method-description">
|
165
|
-
<p>Returns the route for the payload.</p>
|
200
|
+
<p>Returns the route for the payload unless the encryption_key is deleted.</p>
|
201
|
+
|
202
|
+
<p>Example:</p>
|
203
|
+
|
204
|
+
<pre class="ruby"><span class="ruby-identifier">payload</span>.<span class="ruby-identifier">payload_route</span>
|
205
|
+
</pre>
|
206
|
+
|
207
|
+
<p>@return [String] The route for the payload.</p>
|
166
208
|
|
167
209
|
<div class="method-source-code" id="payload_route-source">
|
168
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
210
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 83</span>
|
169
211
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">payload_route</span>
|
170
|
-
<span class="ruby-keyword">return</span> <span class="ruby-
|
212
|
+
<span class="ruby-keyword">return</span> <span class="ruby-string">''</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">deleted?</span>
|
171
213
|
|
172
214
|
<span class="ruby-identifier">route</span>
|
173
215
|
<span class="ruby-keyword">end</span></pre>
|
@@ -177,6 +219,38 @@ Returns:
|
|
177
219
|
|
178
220
|
</div>
|
179
221
|
|
222
|
+
<div id="method-i-record_display_name" class="method-detail ">
|
223
|
+
<div class="method-header">
|
224
|
+
<div class="method-heading">
|
225
|
+
<span class="method-name">record_display_name</span><span
|
226
|
+
class="method-args">()</span>
|
227
|
+
<span class="method-click-advice">click to toggle source</span>
|
228
|
+
</div>
|
229
|
+
</div>
|
230
|
+
|
231
|
+
<div class="method-description">
|
232
|
+
<p>Returns the display name for the record.</p>
|
233
|
+
|
234
|
+
<p>Example:</p>
|
235
|
+
|
236
|
+
<pre class="ruby"><span class="ruby-identifier">payload</span>.<span class="ruby-identifier">record_display_name</span>
|
237
|
+
</pre>
|
238
|
+
|
239
|
+
<p>@return [String] The display name for the record.</p>
|
240
|
+
|
241
|
+
<div class="method-source-code" id="record_display_name-source">
|
242
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 95</span>
|
243
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">record_display_name</span>
|
244
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-string">'loggable.activity.deleted'</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">deleted?</span>
|
245
|
+
|
246
|
+
<span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">decrypt</span>(<span class="ruby-identifier">encrypted_record_name</span>, <span class="ruby-identifier">secret_key</span>)
|
247
|
+
<span class="ruby-keyword">end</span></pre>
|
248
|
+
</div>
|
249
|
+
</div>
|
250
|
+
|
251
|
+
|
252
|
+
</div>
|
253
|
+
|
180
254
|
</section>
|
181
255
|
|
182
256
|
<section id="private-instance-5Buntitled-5D-method-details" class="method-section">
|
@@ -199,9 +273,10 @@ Returns:
|
|
199
273
|
<p>@param value [String] The encrypted value to decrypt. @return [String] The decrypted value.</p>
|
200
274
|
|
201
275
|
<div class="method-source-code" id="decrypt_attr-source">
|
202
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
276
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 159</span>
|
203
277
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypt_attr</span>(<span class="ruby-identifier">value</span>)
|
204
|
-
<span class="ruby-
|
278
|
+
<span class="ruby-comment"># return 'loggable_activity.attr.deleted' if secret_key.nil?</span>
|
279
|
+
<span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">decrypt</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">secret_key</span>)
|
205
280
|
<span class="ruby-keyword">end</span></pre>
|
206
281
|
</div>
|
207
282
|
</div>
|
@@ -224,7 +299,7 @@ Returns:
|
|
224
299
|
<p>@return [Hash] The decrypted attributes.</p>
|
225
300
|
|
226
301
|
<div class="method-source-code" id="decrypted_attrs-source">
|
227
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
302
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 149</span>
|
228
303
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_attrs</span>
|
229
304
|
<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>
|
230
305
|
<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>)
|
@@ -251,7 +326,7 @@ Returns:
|
|
251
326
|
<p>@param change [Hash] The change hash containing ‘from’ and ‘to’ values. @return [Hash] The decrypted ‘from’ and ‘to’ values.</p>
|
252
327
|
|
253
328
|
<div class="method-source-code" id="decrypted_from_to_attr-source">
|
254
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
329
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 138</span>
|
255
330
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_from_to_attr</span>(<span class="ruby-identifier">change</span>)
|
256
331
|
<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>
|
257
332
|
<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>])
|
@@ -280,8 +355,9 @@ Returns:
|
|
280
355
|
<p>@return [Array<Hash>] The array of decrypted changes.</p>
|
281
356
|
|
282
357
|
<div class="method-source-code" id="decrypted_update_attrs-source">
|
283
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
358
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 127</span>
|
284
359
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decrypted_update_attrs</span>
|
360
|
+
<span class="ruby-comment"># return encrypted_attrs</span>
|
285
361
|
<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>
|
286
362
|
<span class="ruby-identifier">decrypted_from_to_attr</span>(<span class="ruby-identifier">change</span>)
|
287
363
|
<span class="ruby-keyword">end</span>
|
@@ -307,7 +383,7 @@ Returns:
|
|
307
383
|
<p>@return [Hash] The hash with deleted attributes.</p>
|
308
384
|
|
309
385
|
<div class="method-source-code" id="deleted_attrs-source">
|
310
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
386
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 120</span>
|
311
387
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">deleted_attrs</span>
|
312
388
|
<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>) }
|
313
389
|
<span class="ruby-keyword">end</span></pre>
|
@@ -317,10 +393,10 @@ Returns:
|
|
317
393
|
|
318
394
|
</div>
|
319
395
|
|
320
|
-
<div id="method-i-
|
396
|
+
<div id="method-i-secret_key" class="method-detail ">
|
321
397
|
<div class="method-header">
|
322
398
|
<div class="method-heading">
|
323
|
-
<span class="method-name">
|
399
|
+
<span class="method-name">secret_key</span><span
|
324
400
|
class="method-args">()</span>
|
325
401
|
<span class="method-click-advice">click to toggle source</span>
|
326
402
|
</div>
|
@@ -331,10 +407,10 @@ Returns:
|
|
331
407
|
|
332
408
|
<p>@return [String, nil] The encryption key.</p>
|
333
409
|
|
334
|
-
<div class="method-source-code" id="
|
335
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line
|
336
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">
|
337
|
-
<span class="ruby-
|
410
|
+
<div class="method-source-code" id="secret_key-source">
|
411
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/payload.rb, line 113</span>
|
412
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">secret_key</span>
|
413
|
+
<span class="ruby-identifier">encryption_key</span>.<span class="ruby-identifier">secret_key</span>
|
338
414
|
<span class="ruby-keyword">end</span></pre>
|
339
415
|
</div>
|
340
416
|
</div>
|