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
@@ -68,6 +68,8 @@
|
|
68
68
|
<ul class="link-list" role="directory">
|
69
69
|
<li ><a href="#method-i-build_primary_update_payload">#build_primary_update_payload</a>
|
70
70
|
<li ><a href="#method-i-build_relation_update_for_belongs_to">#build_relation_update_for_belongs_to</a>
|
71
|
+
<li ><a href="#method-i-build_relation_update_for_has_many">#build_relation_update_for_has_many</a>
|
72
|
+
<li ><a href="#method-i-build_relation_update_for_has_one">#build_relation_update_for_has_one</a>
|
71
73
|
<li ><a href="#method-i-build_relation_update_payload">#build_relation_update_payload</a>
|
72
74
|
<li ><a href="#method-i-build_update_payloads">#build_update_payloads</a>
|
73
75
|
<li ><a href="#method-i-build_update_relation_payloads">#build_update_relation_payloads</a>
|
@@ -114,67 +116,8 @@
|
|
114
116
|
<div class="method-description">
|
115
117
|
<p>Builds payloads for an activity update event.</p>
|
116
118
|
|
117
|
-
<pre>Example:
|
118
|
-
build_update_payloads
|
119
|
-
|
120
|
-
Returns:
|
121
|
-
[
|
122
|
-
[0] #<LoggableActivity::Payload:0x00000001047d31d8> {
|
123
|
-
:id => nil,
|
124
|
-
:record_type => "Demo::Club",
|
125
|
-
:record_id => 7,
|
126
|
-
:encrypted_attrs => {
|
127
|
-
"changes" => [
|
128
|
-
[0] {
|
129
|
-
"name" => {
|
130
|
-
"from" => "+aQznZK64KLQ8wsyZlSOGQbqm+J8gDX93rNFeF+wY68=\n",
|
131
|
-
"to" => "OdS834ZDS06+AYxmz4cUjhtgk7Jc8NoOVAAqR81Is7w=\n"
|
132
|
-
}
|
133
|
-
}
|
134
|
-
]
|
135
|
-
},
|
136
|
-
:payload_type => "update_payload",
|
137
|
-
:data_owner => false,
|
138
|
-
:activity_id => nil,
|
139
|
-
:created_at => nil,
|
140
|
-
:updated_at => nil
|
141
|
-
},
|
142
|
-
[1] #<LoggableActivity::Payload:0x0000000107847f80> {
|
143
|
-
:id => nil,
|
144
|
-
:record_type => "Demo::Address",
|
145
|
-
:record_id => 7,
|
146
|
-
:encrypted_attrs => {
|
147
|
-
"street" => "W7cmT22Bb5TKVmtxTYJt1w==\n",
|
148
|
-
"city" => "AAwdTI7Xo86cMbFBAMsMIw==\n",
|
149
|
-
"country" => "7gu5wdu6O9tD7Q7+EDOqAg==\n",
|
150
|
-
"postal_code" => "ljjfT6MXGNK33/PUyi6Nmw==\n"
|
151
|
-
},
|
152
|
-
:payload_type => "previous_association",
|
153
|
-
:data_owner => false,
|
154
|
-
:activity_id => nil,
|
155
|
-
:created_at => nil,
|
156
|
-
:updated_at => nil
|
157
|
-
},
|
158
|
-
[2] #<LoggableActivity::Payload:0x0000000107802a98> {
|
159
|
-
:id => nil,
|
160
|
-
:record_type => "Demo::Address",
|
161
|
-
:record_id => 8,
|
162
|
-
:encrypted_attrs => {
|
163
|
-
"street" => "CuULVgIEgrOcWBxegKEvSg==\n",
|
164
|
-
"city" => "QbvodOYMvNFpkvsCprqGqg==\n",
|
165
|
-
"country" => "/N03d1OL3TY+aaiPUQ5N1A==\n",
|
166
|
-
"postal_code" => "ZZu3S5tnaTeq+wBu0dPKBw==\n"
|
167
|
-
},
|
168
|
-
:payload_type => "current_association",
|
169
|
-
:data_owner => false,
|
170
|
-
:activity_id => nil,
|
171
|
-
:created_at => nil,
|
172
|
-
:updated_at => nil
|
173
|
-
}
|
174
|
-
]</pre>
|
175
|
-
|
176
119
|
<div class="method-source-code" id="build_update_payloads-source">
|
177
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
120
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 7</span>
|
178
121
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_update_payloads</span>
|
179
122
|
<span class="ruby-ivar">@update_payloads</span> = []
|
180
123
|
|
@@ -212,7 +155,7 @@
|
|
212
155
|
|
213
156
|
|
214
157
|
<div class="method-source-code" id="build_primary_update_payload-source">
|
215
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
158
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 28</span>
|
216
159
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_primary_update_payload</span>(<span class="ruby-identifier">previous_values</span>, <span class="ruby-identifier">current_values</span>)
|
217
160
|
<span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">previous_values</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">current_values</span>
|
218
161
|
|
@@ -242,7 +185,7 @@
|
|
242
185
|
|
243
186
|
|
244
187
|
<div class="method-source-code" id="build_relation_update_for_belongs_to-source">
|
245
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
188
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 78</span>
|
246
189
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_relation_update_for_belongs_to</span>(<span class="ruby-identifier">relation_config</span>)
|
247
190
|
<span class="ruby-identifier">relation_id</span> = <span class="ruby-node">"#{relation_config['belongs_to']}_id"</span>
|
248
191
|
<span class="ruby-identifier">model_class_name</span> = <span class="ruby-identifier">relation_config</span>[<span class="ruby-string">'model'</span>]
|
@@ -270,6 +213,58 @@
|
|
270
213
|
</div>
|
271
214
|
|
272
215
|
|
216
|
+
</div>
|
217
|
+
|
218
|
+
<div id="method-i-build_relation_update_for_has_many" class="method-detail ">
|
219
|
+
<div class="method-header">
|
220
|
+
<div class="method-heading">
|
221
|
+
<span class="method-name">build_relation_update_for_has_many</span><span
|
222
|
+
class="method-args">(relation_config)</span>
|
223
|
+
<span class="method-click-advice">click to toggle source</span>
|
224
|
+
</div>
|
225
|
+
</div>
|
226
|
+
|
227
|
+
<div class="method-description">
|
228
|
+
|
229
|
+
|
230
|
+
<div class="method-source-code" id="build_relation_update_for_has_many-source">
|
231
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 64</span>
|
232
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_relation_update_for_has_many</span>(<span class="ruby-identifier">relation_config</span>)
|
233
|
+
<span class="ruby-comment"># Note: This method is not implemented yet.</span>
|
234
|
+
<span class="ruby-comment"># It requires that there is a form where it is possible to change</span>
|
235
|
+
<span class="ruby-comment"># the related records. This is not implemented yet. in the Demo app</span>
|
236
|
+
<span class="ruby-comment"># puts relation_config['has_many']</span>
|
237
|
+
<span class="ruby-keyword">end</span></pre>
|
238
|
+
</div>
|
239
|
+
</div>
|
240
|
+
|
241
|
+
|
242
|
+
</div>
|
243
|
+
|
244
|
+
<div id="method-i-build_relation_update_for_has_one" class="method-detail ">
|
245
|
+
<div class="method-header">
|
246
|
+
<div class="method-heading">
|
247
|
+
<span class="method-name">build_relation_update_for_has_one</span><span
|
248
|
+
class="method-args">(relation_config)</span>
|
249
|
+
<span class="method-click-advice">click to toggle source</span>
|
250
|
+
</div>
|
251
|
+
</div>
|
252
|
+
|
253
|
+
<div class="method-description">
|
254
|
+
|
255
|
+
|
256
|
+
<div class="method-source-code" id="build_relation_update_for_has_one-source">
|
257
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 71</span>
|
258
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_relation_update_for_has_one</span>(<span class="ruby-identifier">relation_config</span>)
|
259
|
+
<span class="ruby-comment"># Note: This method is not implemented yet.</span>
|
260
|
+
<span class="ruby-comment"># It requires that there is a form where it is possible to change</span>
|
261
|
+
<span class="ruby-comment"># the related records. This is not implemented yet. in the Demo app</span>
|
262
|
+
<span class="ruby-comment"># puts relation_config['has_many']</span>
|
263
|
+
<span class="ruby-keyword">end</span></pre>
|
264
|
+
</div>
|
265
|
+
</div>
|
266
|
+
|
267
|
+
|
273
268
|
</div>
|
274
269
|
|
275
270
|
<div id="method-i-build_relation_update_payload" class="method-detail ">
|
@@ -285,7 +280,7 @@
|
|
285
280
|
|
286
281
|
|
287
282
|
<div class="method-source-code" id="build_relation_update_payload-source">
|
288
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
283
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 102</span>
|
289
284
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_relation_update_payload</span>(<span class="ruby-identifier">_attrs</span>, <span class="ruby-identifier">loggable_attrs</span>, <span class="ruby-identifier">record</span>, <span class="ruby-identifier">payload_type</span>)
|
290
285
|
<span class="ruby-identifier">encryption_key</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>
|
291
286
|
<span class="ruby-identifier">encrypted_attrs</span> = <span class="ruby-identifier">relation_encrypted_attrs</span>(<span class="ruby-identifier">record</span>.<span class="ruby-identifier">attributes</span>, <span class="ruby-identifier">loggable_attrs</span>, <span class="ruby-identifier">encryption_key</span>)
|
@@ -315,12 +310,16 @@
|
|
315
310
|
|
316
311
|
|
317
312
|
<div class="method-source-code" id="build_update_relation_payloads-source">
|
318
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
313
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 51</span>
|
319
314
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_update_relation_payloads</span>(<span class="ruby-identifier">relation_config</span>)
|
320
315
|
<span class="ruby-identifier">relation_config</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
321
316
|
<span class="ruby-keyword">case</span> <span class="ruby-identifier">key</span>
|
322
317
|
<span class="ruby-keyword">when</span> <span class="ruby-string">'belongs_to'</span>
|
323
318
|
<span class="ruby-identifier">build_relation_update_for_belongs_to</span>(<span class="ruby-identifier">relation_config</span>)
|
319
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'has_one'</span>
|
320
|
+
<span class="ruby-identifier">build_relation_update_for_has_one</span>(<span class="ruby-identifier">relation_config</span>)
|
321
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'has_many'</span>
|
322
|
+
<span class="ruby-identifier">build_relation_update_for_has_many</span>(<span class="ruby-identifier">relation_config</span>)
|
324
323
|
<span class="ruby-keyword">end</span>
|
325
324
|
<span class="ruby-keyword">end</span>
|
326
325
|
<span class="ruby-keyword">end</span></pre>
|
@@ -343,7 +342,7 @@
|
|
343
342
|
|
344
343
|
|
345
344
|
<div class="method-source-code" id="encrypted_update_attrs-source">
|
346
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
345
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 39</span>
|
347
346
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypted_update_attrs</span>(<span class="ruby-identifier">previous_values</span>, <span class="ruby-identifier">current_values</span>)
|
348
347
|
<span class="ruby-identifier">changes</span> = []
|
349
348
|
<span class="ruby-identifier">changed_attrs</span> = <span class="ruby-identifier">previous_values</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-operator">*</span><span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">loggable_attrs</span>)
|
@@ -374,7 +373,7 @@
|
|
374
373
|
|
375
374
|
|
376
375
|
<div class="method-source-code" id="primary_update_attrs-source">
|
377
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
376
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 21</span>
|
378
377
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_update_attrs</span>
|
379
378
|
<span class="ruby-identifier">previous_values</span> = <span class="ruby-identifier">saved_changes</span>.<span class="ruby-identifier">transform_values</span>(<span class="ruby-operator">&</span><span class="ruby-value">:first</span>)
|
380
379
|
<span class="ruby-identifier">current_values</span> = <span class="ruby-identifier">saved_changes</span>.<span class="ruby-identifier">transform_values</span>(<span class="ruby-operator">&</span><span class="ruby-value">:last</span>)
|
@@ -400,7 +399,7 @@
|
|
400
399
|
|
401
400
|
|
402
401
|
<div class="method-source-code" id="relation_encrypted_attrs-source">
|
403
|
-
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line
|
402
|
+
<pre><span class="ruby-comment"># File lib/loggable_activity/update_payloads_builder.rb, line 113</span>
|
404
403
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">relation_encrypted_attrs</span>(<span class="ruby-identifier">attrs</span>, <span class="ruby-identifier">loggable_attrs</span>, <span class="ruby-identifier">encryption_key</span>)
|
405
404
|
<span class="ruby-identifier">encrypt_attrs</span>(<span class="ruby-identifier">attrs</span>, <span class="ruby-identifier">loggable_attrs</span>, <span class="ruby-identifier">encryption_key</span>)
|
406
405
|
<span class="ruby-keyword">end</span></pre>
|
data/docs/created.rid
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
|
2
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/activity.rb
|
3
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/configuration.rb
|
4
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/encryption.rb
|
5
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/encryption_key.rb
|
6
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/hooks.rb Wed,
|
7
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/payload.rb Wed,
|
8
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/payloads_builder.rb Wed,
|
9
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/update_payloads_builder.rb Wed,
|
10
|
-
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/version.rb
|
1
|
+
Wed, 21 Feb 2024 21:47:04 +0100
|
2
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/activity.rb Wed, 21 Feb 2024 12:58:24 +0100
|
3
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/configuration.rb Mon, 19 Feb 2024 15:59:34 +0100
|
4
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/encryption.rb Fri, 16 Feb 2024 15:03:24 +0100
|
5
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/encryption_key.rb Wed, 21 Feb 2024 12:58:24 +0100
|
6
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/hooks.rb Wed, 21 Feb 2024 12:58:24 +0100
|
7
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/payload.rb Wed, 21 Feb 2024 12:58:24 +0100
|
8
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/payloads_builder.rb Wed, 21 Feb 2024 21:46:26 +0100
|
9
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/update_payloads_builder.rb Wed, 21 Feb 2024 21:46:26 +0100
|
10
|
+
/Users/maxgronlund/Documents/Max/open-source/LoggableActivity/lib/loggable_activity/version.rb Wed, 21 Feb 2024 21:46:16 +0100
|
data/docs/js/search_index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var search_data = {"index":{"searchIndex":["loggableactivity","activity","configuration","encryption","encryptionerror","encryptionkey","hooks","payload","payloadsbuilder","updatepayloadsbuilder","action_key()","activities_for_actor()","actor_display_name()","actor_display_name_field()","actor_encryption_key()","actor_key()","associated_record_encryption_key()","attrs()","attrs()","base_action()","blank?()","build_destroy_payload()","build_payload()","build_payloads()","build_primary_payload()","build_primary_update_payload()","build_relation_payload()","build_relation_update_for_belongs_to()","build_relation_update_payload()","build_update_payloads()","build_update_relation_payloads()","create_activity()","create_encryption_key()","current_user_model?()","decrypt()","decrypt_attr()","decrypted_attrs()","decrypted_from_to_attr()","decrypted_update_attrs()","deleted_attrs()","encrypt()","encrypt_attr()","encrypt_attrs()","encrypted_actor_name()","encrypted_record_name()","encrypted_update_attrs()","for_class()","for_record()","for_record_by_type_and_id()","latest()","load_config_file()","log()","log_activity()","log_create_activity()","log_custom_activity()","log_destroy()","log_destroy_activity()","log_update()","log_update_activity()","mark_as_deleted()","must_have_at_least_one_payload()","nothing_to_log?()","ordered_payloads()","payload_encryption_key()","previous_associations_attrs()","primary_encryption_key()","primary_encryption_key_deleted?()","primary_payload()","primary_payload_attrs()","primary_update_attrs()","random_key()","record_display_name()","record_key()","relation_encrypted_attrs()","relations_attrs()","update_activity_attrs()","update_attrs()","updated_relations_attrs()"],"longSearchIndex":["loggableactivity","loggableactivity::activity","loggableactivity::configuration","loggableactivity::encryption","loggableactivity::encryptionerror","loggableactivity::encryptionkey","loggableactivity::hooks","loggableactivity::payload","loggableactivity::payloadsbuilder","loggableactivity::updatepayloadsbuilder","loggableactivity::hooks#action_key()","loggableactivity::activity::activities_for_actor()","loggableactivity::activity#actor_display_name()","loggableactivity::hooks#actor_display_name_field()","loggableactivity::hooks#actor_encryption_key()","loggableactivity::activity#actor_key()","loggableactivity::payloadsbuilder#associated_record_encryption_key()","loggableactivity::activity#attrs()","loggableactivity::payload#attrs()","loggableactivity::hooks#base_action()","loggableactivity::encryption::blank?()","loggableactivity::payloadsbuilder#build_destroy_payload()","loggableactivity::payloadsbuilder#build_payload()","loggableactivity::payloadsbuilder#build_payloads()","loggableactivity::payloadsbuilder#build_primary_payload()","loggableactivity::updatepayloadsbuilder#build_primary_update_payload()","loggableactivity::payloadsbuilder#build_relation_payload()","loggableactivity::updatepayloadsbuilder#build_relation_update_for_belongs_to()","loggableactivity::updatepayloadsbuilder#build_relation_update_payload()","loggableactivity::updatepayloadsbuilder#build_update_payloads()","loggableactivity::updatepayloadsbuilder#build_update_relation_payloads()","loggableactivity::hooks#create_activity()","loggableactivity::encryptionkey::create_encryption_key()","loggableactivity::hooks#current_user_model?()","loggableactivity::encryption::decrypt()","loggableactivity::payload#decrypt_attr()","loggableactivity::payload#decrypted_attrs()","loggableactivity::payload#decrypted_from_to_attr()","loggableactivity::payload#decrypted_update_attrs()","loggableactivity::payload#deleted_attrs()","loggableactivity::encryption::encrypt()","loggableactivity::payloadsbuilder#encrypt_attr()","loggableactivity::payloadsbuilder#encrypt_attrs()","loggableactivity::hooks#encrypted_actor_name()","loggableactivity::hooks#encrypted_record_name()","loggableactivity::updatepayloadsbuilder#encrypted_update_attrs()","loggableactivity::configuration::for_class()","loggableactivity::encryptionkey::for_record()","loggableactivity::encryptionkey::for_record_by_type_and_id()","loggableactivity::activity::latest()","loggableactivity::configuration::load_config_file()","loggableactivity::hooks#log()","loggableactivity::hooks#log_activity()","loggableactivity::hooks#log_create_activity()","loggableactivity::hooks#log_custom_activity()","loggableactivity::hooks#log_destroy()","loggableactivity::hooks#log_destroy_activity()","loggableactivity::hooks#log_update()","loggableactivity::hooks#log_update_activity()","loggableactivity::encryptionkey#mark_as_deleted()","loggableactivity::activity#must_have_at_least_one_payload()","loggableactivity::hooks#nothing_to_log?()","loggableactivity::activity#ordered_payloads()","loggableactivity::payload#payload_encryption_key()","loggableactivity::activity#previous_associations_attrs()","loggableactivity::hooks#primary_encryption_key()","loggableactivity::hooks#primary_encryption_key_deleted?()","loggableactivity::activity#primary_payload()","loggableactivity::activity#primary_payload_attrs()","loggableactivity::updatepayloadsbuilder#primary_update_attrs()","loggableactivity::encryptionkey::random_key()","loggableactivity::activity#record_display_name()","loggableactivity::activity#record_key()","loggableactivity::updatepayloadsbuilder#relation_encrypted_attrs()","loggableactivity::activity#relations_attrs()","loggableactivity::activity#update_activity_attrs()","loggableactivity::activity#update_attrs()","loggableactivity::activity#updated_relations_attrs()"],"info":[["LoggableActivity","","LoggableActivity.html","",""],["LoggableActivity::Activity","","LoggableActivity/Activity.html","","<p>Represents one action in the activity log.\n"],["LoggableActivity::Configuration","","LoggableActivity/Configuration.html","","<p>This class is used to load the configuration file located at config/loggable_activity.yml\n"],["LoggableActivity::Encryption","","LoggableActivity/Encryption.html","","<p>This module is used to encrypt and decrypt attributes\n"],["LoggableActivity::EncryptionError","","LoggableActivity/EncryptionError.html","","<p>This error is raised when encryption or decryption fails\n"],["LoggableActivity::EncryptionKey","","LoggableActivity/EncryptionKey.html","","<p>This class represents the encryption key used to unlock the data for one payload. When deleted, only …\n"],["LoggableActivity::Hooks","","LoggableActivity/Hooks.html","","<p>This module provides hooks for creating activities when included in a model.\n"],["LoggableActivity::Payload","","LoggableActivity/Payload.html","","<p>This class represents a payload in the log, containing encrypted data of one record in the database. …\n"],["LoggableActivity::PayloadsBuilder","","LoggableActivity/PayloadsBuilder.html","","<p>This module is responsible for building payloads used in loggable activities.\n"],["LoggableActivity::UpdatePayloadsBuilder","","LoggableActivity/UpdatePayloadsBuilder.html","","<p>This module is responsible for building update payloads used in loggable activities.\n"],["action_key","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-action_key","()",""],["activities_for_actor","LoggableActivity::Activity","LoggableActivity/Activity.html#method-c-activities_for_actor","(actor, limit = 20, params = { offset: 0 })","<p>Returns a list of activities for a given actor.\n"],["actor_display_name","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-actor_display_name","()","<p>Returns the display name for a actor. what method to use if defined in ‘/config/loggable_activity.yaml’ …\n"],["actor_display_name_field","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-actor_display_name_field","()",""],["actor_encryption_key","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-actor_encryption_key","()",""],["actor_key","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-actor_key","()",""],["associated_record_encryption_key","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-associated_record_encryption_key","(associated_record, data_owner)","<p>Retrieves the encryption key for the associated record.\n<p>@param associated_record [ActiveRecord::Base] …\n"],["attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-attrs","()","<p>Returns a list of attributes of the activity includig the indliced relations. The included relations …\n"],["attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-attrs","()","<p>Returns the decrypted attributes of the payload based on its type.\n<p>@return [Hash] The decrypted attributes. …\n"],["base_action","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-base_action","()",""],["blank?","LoggableActivity::Encryption","LoggableActivity/Encryption.html#method-c-blank-3F","(value)",""],["build_destroy_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_destroy_payload","()","<p>Builds the payload for destroyed records.\n"],["build_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_payload","(relation_config, relation_type)","<p>Builds the payload for a specific relation.\n<p>@param relation_config [Hash] The configuration of the relation. …\n"],["build_payloads","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_payloads","()","<p>Builds payloads for the loggable activity.\n\n<pre>Example:\n build_payloads\n\nReturns:\n #<LoggableActivity::Payload:0x0000000109658718> ...</pre>\n"],["build_primary_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_primary_payload","()","<p>Builds the primary payload.\n"],["build_primary_update_payload","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_primary_update_payload","(previous_values, current_values)",""],["build_relation_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_relation_payload","(relation_config)","<p>Builds payloads for related records.\n<p>@param relation_config [Hash] The configuration of the relation. …\n"],["build_relation_update_for_belongs_to","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_for_belongs_to","(relation_config)",""],["build_relation_update_payload","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_payload","(_attrs, loggable_attrs, record, payload_type)",""],["build_update_payloads","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_update_payloads","()","<p>Builds payloads for an activity update event.\n\n<pre>Example:\n build_update_payloads\n\n Returns:\n [\n [0] #<LoggableActivity::Payload:0x00000001047d31d8> ...</pre>\n"],["build_update_relation_payloads","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_update_relation_payloads","(relation_config)",""],["create_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-create_activity","(payloads)",""],["create_encryption_key","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-create_encryption_key","(record_type, record_id, parent_key = nil)","<p>Creates an encryption key for a record, optionally using a parent key.\n\n<pre>@param record_type [String] The ...</pre>\n"],["current_user_model?","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-current_user_model-3F","()",""],["decrypt","LoggableActivity::Encryption","LoggableActivity/Encryption.html#method-c-decrypt","(data, encryption_key)","<p>Decrypts the given data using the given encryption key\n<p>Example:\n\n<pre>LoggableActivity::Encryption.decrypt('SOME_ENCRYPTED_STRING', ...</pre>\n"],["decrypt_attr","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypt_attr","(value)","<p>Decrypts a single attribute.\n<p>@param value [String] The encrypted value to decrypt. @return [String] The …\n"],["decrypted_attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypted_attrs","()","<p>Decrypts all attributes.\n<p>@return [Hash] The decrypted attributes.\n"],["decrypted_from_to_attr","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypted_from_to_attr","(change)","<p>Decrypts ‘from’ and ‘to’ attributes.\n<p>@param change [Hash] The change hash containing ‘from’ …\n"],["decrypted_update_attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypted_update_attrs","()","<p>Decrypts the ‘from’ and ‘to’ attributes in the update payload.\n<p>@return [Array<Hash>] …\n"],["deleted_attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-deleted_attrs","()","<p>Helper method to handle deleted attributes.\n<p>@return [Hash] The hash with deleted attributes.\n"],["encrypt","LoggableActivity::Encryption","LoggableActivity/Encryption.html#method-c-encrypt","(data, encryption_key)","<p>Encrypts the given data using the given encryption key\n<p>Example:\n\n<pre>LoggableActivity::Encryption.encrypt('my ...</pre>\n"],["encrypt_attr","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-encrypt_attr","(attrs, encryption_key)","<p>Encrypts a single attribute.\n<p>@param attrs [Hash] The attributes to be encrypted. @param encryption_key …\n"],["encrypt_attrs","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-encrypt_attrs","(attrs, loggable_attrs, encryption_key)","<p>Encrypts attributes.\n<p>@param attrs [Hash] The attributes to be encrypted. @param loggable_attrs [Array<String>] …\n"],["encrypted_actor_name","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-encrypted_actor_name","()",""],["encrypted_record_name","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-encrypted_record_name","()",""],["encrypted_update_attrs","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-encrypted_update_attrs","(previous_values, current_values)",""],["for_class","LoggableActivity::Configuration","LoggableActivity/Configuration.html#method-c-for_class","(class_name)","<p>Returns the configuration data for the given class\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-constant\">LoggableActivity</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">Configuration</span>.<span class=\"ruby-identifier\">for_class</span>(<span class=\"ruby-string\">'User'</span>)\n</pre>\n"],["for_record","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-for_record","(record, parent_key = nil)","<p>Returns an encryption key for a record, optionally using a parent key.\n\n<pre>@param record [ActiveRecord::Base] ...</pre>\n"],["for_record_by_type_and_id","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-for_record_by_type_and_id","(record_type, record_id, parent_key = nil)","<p>Returns an encryption key for a record by its type and ID, optionally using a parent key.\n\n<pre>@param record_type ...</pre>\n"],["latest","LoggableActivity::Activity","LoggableActivity/Activity.html#method-c-latest","(limit = 20, params = { offset: 0 })","<p>Returns a list of activities ordered by creation date.\n"],["load_config_file","LoggableActivity::Configuration","LoggableActivity/Configuration.html#method-c-load_config_file","(config_file_path)",""],["log","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log","(action, actor: nil, params: {})","<p>Logs an activity with the specified action, actor, and params.\n\n<pre>@param action [Symbol] The action to log ...</pre>\n"],["log_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_activity","()",""],["log_create_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_create_activity","()",""],["log_custom_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_custom_activity","(activity)",""],["log_destroy","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_destroy","()",""],["log_destroy_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_destroy_activity","()",""],["log_update","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_update","()",""],["log_update_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_update_activity","()",""],["mark_as_deleted","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-i-mark_as_deleted","()","<p>Marks the encryption key as deleted by updating the key to nil.\n"],["must_have_at_least_one_payload","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-must_have_at_least_one_payload","()",""],["nothing_to_log?","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-nothing_to_log-3F","(payloads)",""],["ordered_payloads","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-ordered_payloads","()",""],["payload_encryption_key","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-payload_encryption_key","()","<p>Retrieves the encryption key for the payload.\n<p>@return [String, nil] The encryption key.\n"],["previous_associations_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-previous_associations_attrs","()",""],["primary_encryption_key","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-primary_encryption_key","()",""],["primary_encryption_key_deleted?","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-primary_encryption_key_deleted-3F","()",""],["primary_payload","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-primary_payload","()",""],["primary_payload_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-primary_payload_attrs","()","<p>Returns the attributes for the primary payload, without the relations.\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-ivar\">@activity</span>.<span class=\"ruby-identifier\">primary_payload_attrs</span>\n</pre>\n"],["primary_update_attrs","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-primary_update_attrs","()",""],["random_key","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-random_key","()","<p>Generates a random encryption key.\n\n<pre>@return [String] The generated encryption key.</pre>\n<p>Example:\n"],["record_display_name","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-record_display_name","()","<p>Returns the display name for a record. what method to use if defined in ‘/config/loggable_activity.yaml’ …\n"],["record_key","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-record_key","()",""],["relation_encrypted_attrs","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-relation_encrypted_attrs","(attrs, loggable_attrs, encryption_key)",""],["relations_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-relations_attrs","()","<p>Returns the attributes for the relations.\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-ivar\">@activity</span>.<span class=\"ruby-identifier\">relations_attrs</span>\n</pre>\n"],["update_activity_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-update_activity_attrs","()","<p>Returns the attributes of an upddate activity.\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-ivar\">@activity</span>.<span class=\"ruby-identifier\">update_activity_attrs</span>\n</pre>\n"],["update_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-update_attrs","()",""],["updated_relations_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-updated_relations_attrs","()",""]]}}
|
1
|
+
var search_data = {"index":{"searchIndex":["loggableactivity","activity","configuration","encryption","encryptionerror","encryptionkey","hooks","payload","payloadsbuilder","updatepayloadsbuilder","action_key()","activities_for_actor()","actor_display_name()","actor_display_name_field()","actor_encryption_key()","actor_key()","associated_record_encryption_key()","attrs()","attrs()","base_action()","blank?()","build_associated_payload()","build_destroy_payload()","build_has_many_payloads()","build_payload()","build_payloads()","build_primary_payload()","build_primary_update_payload()","build_relation_payload()","build_relation_update_for_belongs_to()","build_relation_update_for_has_many()","build_relation_update_for_has_one()","build_relation_update_payload()","build_update_payloads()","build_update_relation_payloads()","create_activity()","create_encryption_key()","current_user_model?()","decrypt()","decrypt_attr()","decrypted_attrs()","decrypted_from_to_attr()","decrypted_update_attrs()","deleted_attrs()","encrypt()","encrypt_attr()","encrypt_attrs()","encrypted_actor_name()","encrypted_record_name()","encrypted_update_attrs()","for_class()","for_record()","for_record_by_type_and_id()","last()","latest()","load_config_file()","log()","log_activity()","log_create_activity()","log_custom_activity()","log_destroy()","log_destroy_activity()","log_update()","log_update_activity()","mark_as_deleted()","must_have_at_least_one_payload()","nothing_to_log?()","ordered_payloads()","payload_encryption_key()","previous_associations_attrs()","primary_encryption_key()","primary_encryption_key_deleted?()","primary_payload()","primary_payload_attrs()","primary_update_attrs()","random_key()","record_display_name()","record_key()","relation_encrypted_attrs()","relations_attrs()","update_activity_attrs()","update_attrs()","updated_relations_attrs()"],"longSearchIndex":["loggableactivity","loggableactivity::activity","loggableactivity::configuration","loggableactivity::encryption","loggableactivity::encryptionerror","loggableactivity::encryptionkey","loggableactivity::hooks","loggableactivity::payload","loggableactivity::payloadsbuilder","loggableactivity::updatepayloadsbuilder","loggableactivity::hooks#action_key()","loggableactivity::activity::activities_for_actor()","loggableactivity::activity#actor_display_name()","loggableactivity::hooks#actor_display_name_field()","loggableactivity::hooks#actor_encryption_key()","loggableactivity::activity#actor_key()","loggableactivity::payloadsbuilder#associated_record_encryption_key()","loggableactivity::activity#attrs()","loggableactivity::payload#attrs()","loggableactivity::hooks#base_action()","loggableactivity::encryption::blank?()","loggableactivity::payloadsbuilder#build_associated_payload()","loggableactivity::payloadsbuilder#build_destroy_payload()","loggableactivity::payloadsbuilder#build_has_many_payloads()","loggableactivity::payloadsbuilder#build_payload()","loggableactivity::payloadsbuilder#build_payloads()","loggableactivity::payloadsbuilder#build_primary_payload()","loggableactivity::updatepayloadsbuilder#build_primary_update_payload()","loggableactivity::payloadsbuilder#build_relation_payload()","loggableactivity::updatepayloadsbuilder#build_relation_update_for_belongs_to()","loggableactivity::updatepayloadsbuilder#build_relation_update_for_has_many()","loggableactivity::updatepayloadsbuilder#build_relation_update_for_has_one()","loggableactivity::updatepayloadsbuilder#build_relation_update_payload()","loggableactivity::updatepayloadsbuilder#build_update_payloads()","loggableactivity::updatepayloadsbuilder#build_update_relation_payloads()","loggableactivity::hooks#create_activity()","loggableactivity::encryptionkey::create_encryption_key()","loggableactivity::hooks#current_user_model?()","loggableactivity::encryption::decrypt()","loggableactivity::payload#decrypt_attr()","loggableactivity::payload#decrypted_attrs()","loggableactivity::payload#decrypted_from_to_attr()","loggableactivity::payload#decrypted_update_attrs()","loggableactivity::payload#deleted_attrs()","loggableactivity::encryption::encrypt()","loggableactivity::payloadsbuilder#encrypt_attr()","loggableactivity::payloadsbuilder#encrypt_attrs()","loggableactivity::hooks#encrypted_actor_name()","loggableactivity::hooks#encrypted_record_name()","loggableactivity::updatepayloadsbuilder#encrypted_update_attrs()","loggableactivity::configuration::for_class()","loggableactivity::encryptionkey::for_record()","loggableactivity::encryptionkey::for_record_by_type_and_id()","loggableactivity::activity::last()","loggableactivity::activity::latest()","loggableactivity::configuration::load_config_file()","loggableactivity::hooks#log()","loggableactivity::hooks#log_activity()","loggableactivity::hooks#log_create_activity()","loggableactivity::hooks#log_custom_activity()","loggableactivity::hooks#log_destroy()","loggableactivity::hooks#log_destroy_activity()","loggableactivity::hooks#log_update()","loggableactivity::hooks#log_update_activity()","loggableactivity::encryptionkey#mark_as_deleted()","loggableactivity::activity#must_have_at_least_one_payload()","loggableactivity::hooks#nothing_to_log?()","loggableactivity::activity#ordered_payloads()","loggableactivity::payload#payload_encryption_key()","loggableactivity::activity#previous_associations_attrs()","loggableactivity::hooks#primary_encryption_key()","loggableactivity::hooks#primary_encryption_key_deleted?()","loggableactivity::activity#primary_payload()","loggableactivity::activity#primary_payload_attrs()","loggableactivity::updatepayloadsbuilder#primary_update_attrs()","loggableactivity::encryptionkey::random_key()","loggableactivity::activity#record_display_name()","loggableactivity::activity#record_key()","loggableactivity::updatepayloadsbuilder#relation_encrypted_attrs()","loggableactivity::activity#relations_attrs()","loggableactivity::activity#update_activity_attrs()","loggableactivity::activity#update_attrs()","loggableactivity::activity#updated_relations_attrs()"],"info":[["LoggableActivity","","LoggableActivity.html","",""],["LoggableActivity::Activity","","LoggableActivity/Activity.html","","<p>Represents one action in the activity log.\n"],["LoggableActivity::Configuration","","LoggableActivity/Configuration.html","","<p>This class is used to load the configuration file located at config/loggable_activity.yml\n"],["LoggableActivity::Encryption","","LoggableActivity/Encryption.html","","<p>This module is used to encrypt and decrypt attributes\n"],["LoggableActivity::EncryptionError","","LoggableActivity/EncryptionError.html","","<p>This error is raised when encryption or decryption fails\n"],["LoggableActivity::EncryptionKey","","LoggableActivity/EncryptionKey.html","","<p>This class represents the encryption key used to unlock the data for one payload. When deleted, only …\n"],["LoggableActivity::Hooks","","LoggableActivity/Hooks.html","","<p>This module provides hooks for creating activities when included in a model.\n"],["LoggableActivity::Payload","","LoggableActivity/Payload.html","","<p>This class represents a payload in the log, containing encrypted data of one record in the database. …\n"],["LoggableActivity::PayloadsBuilder","","LoggableActivity/PayloadsBuilder.html","","<p>This module is responsible for building payloads used in loggable activities.\n"],["LoggableActivity::UpdatePayloadsBuilder","","LoggableActivity/UpdatePayloadsBuilder.html","","<p>This module is responsible for building update payloads used in loggable activities.\n"],["action_key","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-action_key","()",""],["activities_for_actor","LoggableActivity::Activity","LoggableActivity/Activity.html#method-c-activities_for_actor","(actor, limit = 20, params = { offset: 0 })","<p>Returns a list of activities for a given actor.\n"],["actor_display_name","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-actor_display_name","()","<p>Returns the display name for a actor. what method to use if defined in ‘/config/loggable_activity.yaml’ …\n"],["actor_display_name_field","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-actor_display_name_field","()",""],["actor_encryption_key","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-actor_encryption_key","()",""],["actor_key","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-actor_key","()",""],["associated_record_encryption_key","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-associated_record_encryption_key","(associated_record, data_owner)","<p>Retrieves the encryption key for the associated record.\n<p>@param associated_record [ActiveRecord::Base] …\n"],["attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-attrs","()","<p>Returns a list of attributes of the activity includig the indliced relations. The included relations …\n"],["attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-attrs","()","<p>Returns the decrypted attributes of the payload based on its type.\n<p>@return [Hash] The decrypted attributes. …\n"],["base_action","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-base_action","()",""],["blank?","LoggableActivity::Encryption","LoggableActivity/Encryption.html#method-c-blank-3F","(value)",""],["build_associated_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_associated_payload","(associated_record, relation_config)","<p>Builds the payload for an associated record.\n"],["build_destroy_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_destroy_payload","()","<p>Builds the payload for destroyed records.\n"],["build_has_many_payloads","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_has_many_payloads","(relation_config, relation_type)","<p>Builds payloads for has_many relations.\n"],["build_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_payload","(relation_config, relation_type)","<p>Builds the payload for a specific relation.\n<p>@param relation_config [Hash] The configuration of the relation. …\n"],["build_payloads","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_payloads","()","<p>Builds payloads for the loggable activity.\n\n<pre>Example:\n build_payloads\n\nReturns:\n #<LoggableActivity::Payload:0x0000000109658718> ...</pre>\n"],["build_primary_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_primary_payload","()","<p>Builds the primary payload.\n"],["build_primary_update_payload","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_primary_update_payload","(previous_values, current_values)",""],["build_relation_payload","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-build_relation_payload","(relation_config)","<p>Builds payloads for relations\n<p>@param relation_config [Hash] The configuration of the relation.\n"],["build_relation_update_for_belongs_to","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_for_belongs_to","(relation_config)",""],["build_relation_update_for_has_many","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_for_has_many","(relation_config)",""],["build_relation_update_for_has_one","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_for_has_one","(relation_config)",""],["build_relation_update_payload","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_payload","(_attrs, loggable_attrs, record, payload_type)",""],["build_update_payloads","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_update_payloads","()","<p>Builds payloads for an activity update event.\n"],["build_update_relation_payloads","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_update_relation_payloads","(relation_config)",""],["create_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-create_activity","(payloads)",""],["create_encryption_key","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-create_encryption_key","(record_type, record_id, parent_key = nil)","<p>Creates an encryption key for a record, optionally using a parent key.\n\n<pre>@param record_type [String] The ...</pre>\n"],["current_user_model?","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-current_user_model-3F","()",""],["decrypt","LoggableActivity::Encryption","LoggableActivity/Encryption.html#method-c-decrypt","(data, encoded_key)","<p>Decrypts the given data using the given encryption key\n<p>Example:\n\n<pre>LoggableActivity::Encryption.decrypt('SOME_ENCRYPTED_STRING', ...</pre>\n"],["decrypt_attr","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypt_attr","(value)","<p>Decrypts a single attribute.\n<p>@param value [String] The encrypted value to decrypt. @return [String] The …\n"],["decrypted_attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypted_attrs","()","<p>Decrypts all attributes.\n<p>@return [Hash] The decrypted attributes.\n"],["decrypted_from_to_attr","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypted_from_to_attr","(change)","<p>Decrypts ‘from’ and ‘to’ attributes.\n<p>@param change [Hash] The change hash containing ‘from’ …\n"],["decrypted_update_attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-decrypted_update_attrs","()","<p>Decrypts the ‘from’ and ‘to’ attributes in the update payload.\n<p>@return [Array<Hash>] …\n"],["deleted_attrs","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-deleted_attrs","()","<p>Helper method to handle deleted attributes.\n<p>@return [Hash] The hash with deleted attributes.\n"],["encrypt","LoggableActivity::Encryption","LoggableActivity/Encryption.html#method-c-encrypt","(data, encoded_key)","<p>Encrypts the given data using the given encryption key\n<p>Example:\n\n<pre>LoggableActivity::Encryption.encrypt('my ...</pre>\n"],["encrypt_attr","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-encrypt_attr","(attrs, encryption_key)","<p>Encrypts a single attribute.\n<p>@param attrs [Hash] The attributes to be encrypted. @param encryption_key …\n"],["encrypt_attrs","LoggableActivity::PayloadsBuilder","LoggableActivity/PayloadsBuilder.html#method-i-encrypt_attrs","(attrs, loggable_attrs, encryption_key)","<p>Encrypts attributes.\n<p>@param attrs [Hash] The attributes to be encrypted. @param loggable_attrs [Array<String>] …\n"],["encrypted_actor_name","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-encrypted_actor_name","()",""],["encrypted_record_name","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-encrypted_record_name","()",""],["encrypted_update_attrs","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-encrypted_update_attrs","(previous_values, current_values)",""],["for_class","LoggableActivity::Configuration","LoggableActivity/Configuration.html#method-c-for_class","(class_name)","<p>Returns the configuration data for the given class\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-constant\">LoggableActivity</span><span class=\"ruby-operator\">::</span><span class=\"ruby-constant\">Configuration</span>.<span class=\"ruby-identifier\">for_class</span>(<span class=\"ruby-string\">'User'</span>)\n</pre>\n"],["for_record","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-for_record","(record, parent_key = nil)","<p>Returns an encryption key for a record, optionally using a parent key.\n\n<pre>@param record [ActiveRecord::Base] ...</pre>\n"],["for_record_by_type_and_id","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-for_record_by_type_and_id","(record_type, record_id, parent_key = nil)","<p>Returns an encryption key for a record by its type and ID, optionally using a parent key.\n\n<pre>@param record_type ...</pre>\n"],["last","LoggableActivity::Activity","LoggableActivity/Activity.html#method-c-last","(limit = 1)","<p>Returns the last activity.\n"],["latest","LoggableActivity::Activity","LoggableActivity/Activity.html#method-c-latest","(limit = 20, params = { offset: 0 })","<p>Returns a list of activities ordered by creation date.\n"],["load_config_file","LoggableActivity::Configuration","LoggableActivity/Configuration.html#method-c-load_config_file","(config_file_path)",""],["log","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log","(action, actor: nil, params: {})","<p>Logs an activity with the specified action, actor, and params.\n\n<pre>@param action [Symbol] The action to log ...</pre>\n"],["log_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_activity","()",""],["log_create_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_create_activity","()",""],["log_custom_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_custom_activity","(activity)",""],["log_destroy","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_destroy","()",""],["log_destroy_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_destroy_activity","()",""],["log_update","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_update","()",""],["log_update_activity","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-log_update_activity","()",""],["mark_as_deleted","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-i-mark_as_deleted","()","<p>Marks the encryption key as deleted by updating the key to nil.\n"],["must_have_at_least_one_payload","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-must_have_at_least_one_payload","()",""],["nothing_to_log?","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-nothing_to_log-3F","(payloads)",""],["ordered_payloads","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-ordered_payloads","()",""],["payload_encryption_key","LoggableActivity::Payload","LoggableActivity/Payload.html#method-i-payload_encryption_key","()","<p>Retrieves the encryption key for the payload.\n<p>@return [String, nil] The encryption key.\n"],["previous_associations_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-previous_associations_attrs","()",""],["primary_encryption_key","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-primary_encryption_key","()",""],["primary_encryption_key_deleted?","LoggableActivity::Hooks","LoggableActivity/Hooks.html#method-i-primary_encryption_key_deleted-3F","()",""],["primary_payload","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-primary_payload","()",""],["primary_payload_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-primary_payload_attrs","()","<p>Returns the attributes for the primary payload, without the relations.\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-ivar\">@activity</span>.<span class=\"ruby-identifier\">primary_payload_attrs</span>\n</pre>\n"],["primary_update_attrs","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-primary_update_attrs","()",""],["random_key","LoggableActivity::EncryptionKey","LoggableActivity/EncryptionKey.html#method-c-random_key","()","<p>Generates a random encryption key.\n\n<pre>@return [String] The generated encryption key.</pre>\n<p>Example:\n"],["record_display_name","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-record_display_name","()","<p>Returns the display name for a record. what method to use if defined in ‘/config/loggable_activity.yaml’ …\n"],["record_key","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-record_key","()",""],["relation_encrypted_attrs","LoggableActivity::UpdatePayloadsBuilder","LoggableActivity/UpdatePayloadsBuilder.html#method-i-relation_encrypted_attrs","(attrs, loggable_attrs, encryption_key)",""],["relations_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-relations_attrs","()","<p>Returns the attributes for the relations.\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-ivar\">@activity</span>.<span class=\"ruby-identifier\">relations_attrs</span>\n</pre>\n"],["update_activity_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-update_activity_attrs","()","<p>Returns the attributes of an upddate activity.\n<p>Example:\n\n<pre class=\"ruby\"><span class=\"ruby-ivar\">@activity</span>.<span class=\"ruby-identifier\">update_activity_attrs</span>\n</pre>\n"],["update_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-update_attrs","()",""],["updated_relations_attrs","LoggableActivity::Activity","LoggableActivity/Activity.html#method-i-updated_relations_attrs","()",""]]}}
|
data/docs/js/search_index.js.gz
CHANGED
Binary file
|
data/docs/table_of_contents.html
CHANGED
@@ -103,6 +103,11 @@
|
|
103
103
|
—
|
104
104
|
<span class="container">LoggableActivity::EncryptionKey</span>
|
105
105
|
|
106
|
+
<li class="method">
|
107
|
+
<a href="LoggableActivity/Activity.html#method-c-last">::last</a>
|
108
|
+
—
|
109
|
+
<span class="container">LoggableActivity::Activity</span>
|
110
|
+
|
106
111
|
<li class="method">
|
107
112
|
<a href="LoggableActivity/Activity.html#method-c-latest">::latest</a>
|
108
113
|
—
|
@@ -163,11 +168,21 @@
|
|
163
168
|
—
|
164
169
|
<span class="container">LoggableActivity::Hooks</span>
|
165
170
|
|
171
|
+
<li class="method">
|
172
|
+
<a href="LoggableActivity/PayloadsBuilder.html#method-i-build_associated_payload">#build_associated_payload</a>
|
173
|
+
—
|
174
|
+
<span class="container">LoggableActivity::PayloadsBuilder</span>
|
175
|
+
|
166
176
|
<li class="method">
|
167
177
|
<a href="LoggableActivity/PayloadsBuilder.html#method-i-build_destroy_payload">#build_destroy_payload</a>
|
168
178
|
—
|
169
179
|
<span class="container">LoggableActivity::PayloadsBuilder</span>
|
170
180
|
|
181
|
+
<li class="method">
|
182
|
+
<a href="LoggableActivity/PayloadsBuilder.html#method-i-build_has_many_payloads">#build_has_many_payloads</a>
|
183
|
+
—
|
184
|
+
<span class="container">LoggableActivity::PayloadsBuilder</span>
|
185
|
+
|
171
186
|
<li class="method">
|
172
187
|
<a href="LoggableActivity/PayloadsBuilder.html#method-i-build_payload">#build_payload</a>
|
173
188
|
—
|
@@ -198,6 +213,16 @@
|
|
198
213
|
—
|
199
214
|
<span class="container">LoggableActivity::UpdatePayloadsBuilder</span>
|
200
215
|
|
216
|
+
<li class="method">
|
217
|
+
<a href="LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_for_has_many">#build_relation_update_for_has_many</a>
|
218
|
+
—
|
219
|
+
<span class="container">LoggableActivity::UpdatePayloadsBuilder</span>
|
220
|
+
|
221
|
+
<li class="method">
|
222
|
+
<a href="LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_for_has_one">#build_relation_update_for_has_one</a>
|
223
|
+
—
|
224
|
+
<span class="container">LoggableActivity::UpdatePayloadsBuilder</span>
|
225
|
+
|
201
226
|
<li class="method">
|
202
227
|
<a href="LoggableActivity/UpdatePayloadsBuilder.html#method-i-build_relation_update_payload">#build_relation_update_payload</a>
|
203
228
|
—
|
data/lib/generators/.DS_Store
CHANGED
Binary file
|
Binary file
|
@@ -5,7 +5,7 @@ require 'rails/generators/named_base'
|
|
5
5
|
|
6
6
|
module LoggableActivity
|
7
7
|
module Generators
|
8
|
-
class InstallGenerator < Rails::Generators::
|
8
|
+
class InstallGenerator < Rails::Generators::Base
|
9
9
|
source_root File.expand_path('templates', __dir__)
|
10
10
|
|
11
11
|
FILE_NAMES = %w[activity payload encryption_key].freeze
|
@@ -21,11 +21,16 @@ module LoggableActivity
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
def create_translation_file
|
25
|
+
copy_file 'config/locales/loggable_activity.en.yml', 'config/locales/loggable_activity.en.yml'
|
26
|
+
end
|
27
|
+
|
28
|
+
def create_config_file
|
29
|
+
copy_file 'config/loggable_activity.yml', 'config/loggable_activity.yml'
|
30
|
+
end
|
31
|
+
|
32
|
+
def create_current_user_concern
|
33
|
+
copy_file 'current_user.rb', 'app/controllers/concerns/loggable_activity/current_user.rb'
|
29
34
|
end
|
30
35
|
end
|
31
36
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails/generators/base'
|
4
|
+
|
5
|
+
module LoggableActivity
|
6
|
+
module Generators
|
7
|
+
class InstallTemplatesGenerator < Rails::Generators::Base
|
8
|
+
source_root File.expand_path('templates', __dir__)
|
9
|
+
|
10
|
+
class_option :template, type: :string, default: 'erb'
|
11
|
+
|
12
|
+
def create_helper
|
13
|
+
copy_file 'helpers/loggable_activity_helper.rb', 'app/helpers/loggable_activity_helper.rb'
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_views
|
17
|
+
template_type = options['template']
|
18
|
+
|
19
|
+
case template_type
|
20
|
+
when 'slim'
|
21
|
+
# Copy slim files
|
22
|
+
copy_files('slim')
|
23
|
+
else
|
24
|
+
# Copy erb files
|
25
|
+
copy_files('erb')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def copy_files(type)
|
32
|
+
file_extension = type == 'slim' ? 'html.slim' : 'html.erb'
|
33
|
+
%w[create destroy show update].each do |action|
|
34
|
+
copy_file "views/loggable_activity/templates/default/_#{action}.#{file_extension}", "app/views/loggable_activity/templates/default/_#{action}.#{file_extension}"
|
35
|
+
end
|
36
|
+
%w[activity_info list_attrs update_attrs updated_relations].each do |shared|
|
37
|
+
copy_file "views/loggable_activity/templates/shared/_#{shared}.#{file_extension}", "app/views/loggable_activity/templates/shared/_#{shared}.#{file_extension}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
en:
|
2
|
+
loggable:
|
3
|
+
activity:
|
4
|
+
deleted: "***** DELETED *****"
|
5
|
+
demo/address:
|
6
|
+
update: An address was updated
|
7
|
+
create: An address was created
|
8
|
+
show: An address was shown
|
9
|
+
destroy: An address was deleted
|
10
|
+
demo/club:
|
11
|
+
update: A club was updated
|
12
|
+
create: A club was created
|
13
|
+
show: A club was shown
|
14
|
+
destroy: A club was deleted
|
15
|
+
demo/journal:
|
16
|
+
update: A journal was updated
|
17
|
+
create: A journal was created
|
18
|
+
show: A journal was shown
|
19
|
+
destroy: A journal was deleted
|
20
|
+
demo/product:
|
21
|
+
update: A product was updated
|
22
|
+
create: A product was created
|
23
|
+
show: A product was shown
|
24
|
+
destroy: A product was deleted
|
25
|
+
user:
|
26
|
+
update: A user was updated
|
27
|
+
create: A user was created
|
28
|
+
show: "A user was shown"
|
29
|
+
destroy: A user was deleted
|
30
|
+
models:
|
31
|
+
Demo::Address: Address
|
32
|
+
Demo::UserProfile: Profile
|
33
|
+
Demo::Club: Club
|
34
|
+
Demo::Journal: Journal
|
35
|
+
Demo/Product: Product
|
36
|
+
User: User
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module LoggableActivityHelper
|
4
|
+
include ApplicationHelper
|
5
|
+
|
6
|
+
def render_activity(activity)
|
7
|
+
render partial: template_path(activity), locals: { activity: }
|
8
|
+
end
|
9
|
+
|
10
|
+
def primary_type(activity)
|
11
|
+
I18n.t("loggable.activity.models.#{activity.record_type}")
|
12
|
+
end
|
13
|
+
|
14
|
+
def relation_type(relation_attrs)
|
15
|
+
I18n.t("loggable.activity.models.#{relation_attrs[:record_class]}")
|
16
|
+
end
|
17
|
+
|
18
|
+
def update_relation_class(update_attrs)
|
19
|
+
I18n.t("loggable.activity.models.#{update_attrs[:record_class]}")
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def action_template_path(activity)
|
25
|
+
"loggable_activity/templates/#{activity.action.gsub('.', '/')}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def template_path(activity)
|
29
|
+
template_path = action_template_path(activity)
|
30
|
+
if lookup_context.template_exists?(template_path, [], true)
|
31
|
+
template_path
|
32
|
+
else
|
33
|
+
action = activity.action.split('.').last || 'default'
|
34
|
+
"loggable_activity/templates/default/#{action}"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def activity_payload(activity)
|
39
|
+
@activity_payload ||= build_payload(activity)
|
40
|
+
end
|
41
|
+
|
42
|
+
def activity_attrs(activity)
|
43
|
+
@activity_attrs ||= activity_payload(activity).fetch(:activity, {})
|
44
|
+
end
|
45
|
+
|
46
|
+
def build_payload(activity)
|
47
|
+
Loggable::JsonPayloadFactory.new(activity).build_payload
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<tr>
|
2
|
+
<td>
|
3
|
+
<%= render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity } %>
|
4
|
+
</td>
|
5
|
+
<td>
|
6
|
+
<b class="text-secondary"><%= primary_type(activity) %></b>
|
7
|
+
<br>
|
8
|
+
<% activity.primary_payload_attrs.each do |k, v| %>
|
9
|
+
<%= "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe %>
|
10
|
+
<br>
|
11
|
+
<% end %>
|
12
|
+
<br>
|
13
|
+
<% activity.relations_attrs.each do |relation_attrs| %>
|
14
|
+
<b class="text-secondary"><%= relation_type(relation_attrs) %></b>
|
15
|
+
<br>
|
16
|
+
<%= render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation_attrs[:attrs] } %>
|
17
|
+
<br>
|
18
|
+
<% end %>
|
19
|
+
</td>
|
20
|
+
<td>
|
21
|
+
<%= link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm' %>
|
22
|
+
</td>
|
23
|
+
</tr>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
tr
|
2
|
+
td
|
3
|
+
= render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity }
|
4
|
+
td
|
5
|
+
b.text-secondary = primary_type(activity)
|
6
|
+
br
|
7
|
+
- activity.primary_payload_attrs.each do |k, v|
|
8
|
+
= "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe
|
9
|
+
br/
|
10
|
+
br
|
11
|
+
- activity.relations_attrs.each do |relation_attrs|
|
12
|
+
b.text-secondary = relation_type(relation_attrs)
|
13
|
+
br/
|
14
|
+
=
|
15
|
+
= render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation_attrs[:attrs] }
|
16
|
+
br/
|
17
|
+
td
|
18
|
+
=< link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm'
|