loggable_activity 0.1.52 → 0.1.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/GETTING-STARTED.md +102 -41
- data/README.md +3 -0
- data/docs/LoggableActivity/Activity.html +44 -16
- data/docs/LoggableActivity/Encryption.html +31 -24
- data/docs/LoggableActivity/EncryptionKey.html +10 -7
- data/docs/LoggableActivity/Hooks.html +19 -19
- data/docs/LoggableActivity/Payload.html +7 -7
- data/docs/LoggableActivity/PayloadsBuilder.html +75 -22
- data/docs/LoggableActivity/UpdatePayloadsBuilder.html +66 -67
- data/docs/created.rid +10 -10
- data/docs/js/search_index.js +1 -1
- data/docs/js/search_index.js.gz +0 -0
- data/docs/table_of_contents.html +25 -0
- data/lib/generators/.DS_Store +0 -0
- data/lib/generators/loggable_activity/.DS_Store +0 -0
- data/lib/generators/loggable_activity/install_generator.rb +11 -6
- data/lib/generators/loggable_activity/install_templates_generator.rb +42 -0
- data/lib/generators/loggable_activity/templates/config/locales/loggable_activity.en.yml +36 -0
- data/lib/generators/loggable_activity/templates/helpers/loggable_activity_helper.rb +49 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +23 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +17 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +17 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +18 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +12 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +12 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +11 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +8 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +6 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +17 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +14 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +23 -0
- data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +21 -0
- data/lib/loggable_activity/payloads_builder.rb +3 -19
- data/lib/loggable_activity/update_payloads_builder.rb +18 -60
- data/lib/loggable_activity/version.rb +1 -1
- metadata +34 -15
- /data/lib/generators/loggable_activity/templates/{loggable_activity.yml → config/loggable_activity.yml} +0 -0
@@ -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'
|