loggable_activity 0.1.55 → 0.1.58
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +10 -1
- data/CHANGELOG.md +14 -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 +58 -101
- 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/.DS_Store +0 -0
- data/lib/generators/loggable_activity/install_templates_generator.rb +0 -103
- data/lib/generators/loggable_activity/templates/helpers/loggable_activity_helper.rb +0 -49
- data/lib/generators/loggable_activity/templates/loggable_activity_helper.rb +0 -58
- 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>
|