loggable_activity 0.5.4 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -0
  3. data/CHANGELOG.md +12 -3
  4. data/GETTING-STARTED.md +61 -0
  5. data/README.md +4 -7
  6. data/app/views/loggable_activity/activities/_activities.html.slim +6 -6
  7. data/docker-compose.yml +27 -0
  8. data/docs/CHANGELOG_md.html +318 -0
  9. data/docs/CHEAT_SHEET_md.html +168 -0
  10. data/docs/CODE_OF_CONDUCT_md.html +250 -0
  11. data/docs/CreateLoggableActivities.html +175 -0
  12. data/docs/CreateLoggableActivityTables.html +173 -0
  13. data/docs/GETTING-STARTED_md.html +211 -0
  14. data/docs/Gemfile.html +153 -0
  15. data/docs/Gemfile_lock.html +438 -0
  16. data/docs/LoggableActivity/ActivitiesController.html +160 -0
  17. data/docs/LoggableActivity/ActivitiesHelper.html +158 -0
  18. data/docs/LoggableActivity/Activity.html +565 -0
  19. data/docs/LoggableActivity/ApplicationController.html +97 -0
  20. data/docs/LoggableActivity/ApplicationHelper.html +91 -0
  21. data/docs/LoggableActivity/ApplicationJob.html +97 -0
  22. data/docs/LoggableActivity/ApplicationMailer.html +97 -0
  23. data/docs/LoggableActivity/ApplicationRecord.html +97 -0
  24. data/docs/LoggableActivity/Configuration.html +237 -0
  25. data/docs/LoggableActivity/ConfigurationError.html +142 -0
  26. data/docs/LoggableActivity/CurrentActor.html +166 -0
  27. data/docs/LoggableActivity/DataOwner.html +138 -0
  28. data/docs/LoggableActivity/Encryption.html +321 -0
  29. data/docs/LoggableActivity/EncryptionError.html +142 -0
  30. data/docs/LoggableActivity/EncryptionKey.html +399 -0
  31. data/docs/LoggableActivity/Engine.html +108 -0
  32. data/docs/LoggableActivity/Error.html +142 -0
  33. data/docs/LoggableActivity/Generators/InstallGenerator.html +212 -0
  34. data/docs/LoggableActivity/Generators.html +91 -0
  35. data/docs/LoggableActivity/Hooks.html +841 -0
  36. data/docs/LoggableActivity/Payload.html +430 -0
  37. data/docs/LoggableActivity/Sanitizer.html +134 -0
  38. data/docs/LoggableActivity/Services/BasePayloadsBuilder.html +472 -0
  39. data/docs/LoggableActivity/Services/CustomPayloadsBuilder.html +225 -0
  40. data/docs/LoggableActivity/Services/DestroyPayloadsBuilder.html +396 -0
  41. data/docs/LoggableActivity/Services/PayloadsBuilder.html +348 -0
  42. data/docs/LoggableActivity/Services/UpdatePayloadsBuilder.html +540 -0
  43. data/docs/LoggableActivity/Services.html +93 -0
  44. data/docs/LoggableActivity.html +173 -0
  45. data/docs/MIT-LICENSE.html +132 -0
  46. data/docs/Object.html +110 -0
  47. data/docs/README_md.html +186 -0
  48. data/docs/Rakefile.html +134 -0
  49. data/docs/app/assets/config/loggable_activity_manifest_js.html +126 -0
  50. data/docs/app/assets/javascripts/loggable_activity/application_js.html +124 -0
  51. data/docs/app/assets/stylesheets/loggable_activity/activities_scss.html +154 -0
  52. data/docs/app/assets/stylesheets/loggable_activity/application_scss.html +142 -0
  53. data/docs/app/views/layouts/loggable_activity/application_html_slim.html +145 -0
  54. data/docs/app/views/loggable_activity/activities/_activities_html_slim.html +159 -0
  55. data/docs/created.rid +74 -0
  56. data/docs/css/fonts.css +167 -0
  57. data/docs/css/rdoc.css +687 -0
  58. data/docs/fonts/Lato-Light.ttf +0 -0
  59. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  60. data/docs/fonts/Lato-Regular.ttf +0 -0
  61. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  62. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  63. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  64. data/docs/git-org/HEAD.html +126 -0
  65. data/docs/git-org/config.html +128 -0
  66. data/docs/git-org/description.html +126 -0
  67. data/docs/git-org/hooks/applypatch-msg_sample.html +128 -0
  68. data/docs/git-org/hooks/commit-msg_sample.html +138 -0
  69. data/docs/git-org/hooks/fsmonitor-watchman_sample.html +302 -0
  70. data/docs/git-org/hooks/post-update_sample.html +128 -0
  71. data/docs/git-org/hooks/pre-applypatch_sample.html +128 -0
  72. data/docs/git-org/hooks/pre-commit_sample.html +174 -0
  73. data/docs/git-org/hooks/pre-merge-commit_sample.html +133 -0
  74. data/docs/git-org/hooks/pre-push_sample.html +161 -0
  75. data/docs/git-org/hooks/pre-rebase_sample.html +282 -0
  76. data/docs/git-org/hooks/pre-receive_sample.html +144 -0
  77. data/docs/git-org/hooks/prepare-commit-msg_sample.html +136 -0
  78. data/docs/git-org/hooks/push-to-checkout_sample.html +178 -0
  79. data/docs/git-org/hooks/update_sample.html +226 -0
  80. data/docs/git-org/info/exclude.html +126 -0
  81. data/docs/images/add.png +0 -0
  82. data/docs/images/arrow_up.png +0 -0
  83. data/docs/images/brick.png +0 -0
  84. data/docs/images/brick_link.png +0 -0
  85. data/docs/images/bug.png +0 -0
  86. data/docs/images/bullet_black.png +0 -0
  87. data/docs/images/bullet_toggle_minus.png +0 -0
  88. data/docs/images/bullet_toggle_plus.png +0 -0
  89. data/docs/images/date.png +0 -0
  90. data/docs/images/delete.png +0 -0
  91. data/docs/images/find.png +0 -0
  92. data/docs/images/loadingAnimation.gif +0 -0
  93. data/docs/images/macFFBgHack.png +0 -0
  94. data/docs/images/package.png +0 -0
  95. data/docs/images/page_green.png +0 -0
  96. data/docs/images/page_white_text.png +0 -0
  97. data/docs/images/page_white_width.png +0 -0
  98. data/docs/images/plugin.png +0 -0
  99. data/docs/images/ruby.png +0 -0
  100. data/docs/images/tag_blue.png +0 -0
  101. data/docs/images/tag_green.png +0 -0
  102. data/docs/images/transparent.png +0 -0
  103. data/docs/images/wrench.png +0 -0
  104. data/docs/images/wrench_orange.png +0 -0
  105. data/docs/images/zoom.png +0 -0
  106. data/docs/index.html +166 -0
  107. data/docs/js/darkfish.js +97 -0
  108. data/docs/js/navigation.js +105 -0
  109. data/docs/js/navigation.js.gz +0 -0
  110. data/docs/js/search.js +110 -0
  111. data/docs/js/search_index.js +1 -0
  112. data/docs/js/search_index.js.gz +0 -0
  113. data/docs/js/searcher.js +229 -0
  114. data/docs/js/searcher.js.gz +0 -0
  115. data/docs/lib/loggable_activity/config_schema_json.html +205 -0
  116. data/docs/lib/tasks/loggable_activity_tasks_rake.html +128 -0
  117. data/docs/table_of_contents.html +954 -0
  118. data/lib/generators/loggable_activity/install/install_generator.rb +68 -0
  119. data/lib/generators/loggable_activity/install/templates/create_loggable_activities.rb +45 -0
  120. data/lib/generators/loggable_activity/install/templates/loggable_activity.en.yml +32 -0
  121. data/lib/generators/loggable_activity/install/templates/loggable_activity.rb +27 -0
  122. data/lib/generators/loggable_activity/install/templates/loggable_activity.yml +103 -0
  123. data/lib/loggable_activity/activity.rb +4 -4
  124. data/lib/loggable_activity/concerns/current_actor.rb +25 -0
  125. data/lib/loggable_activity/config_schema.json +2 -13
  126. data/lib/loggable_activity/configuration.rb +0 -10
  127. data/lib/loggable_activity/encryption.rb +33 -12
  128. data/lib/loggable_activity/encryption_key.rb +1 -1
  129. data/lib/loggable_activity/error.rb +3 -3
  130. data/lib/loggable_activity/hooks.rb +74 -18
  131. data/lib/loggable_activity/payload.rb +6 -4
  132. data/lib/loggable_activity/services/base_payloads_builder.rb +2 -1
  133. data/lib/loggable_activity/services/custom_payloads_builder.rb +55 -0
  134. data/lib/loggable_activity/version.rb +1 -1
  135. data/lib/loggable_activity.rb +5 -2
  136. metadata +121 -111
  137. data/lib/loggable_activity/concerns/current_user.rb +0 -26
@@ -6,9 +6,10 @@ module LoggableActivity
6
6
  # Other service modules related to the loggable activity will inherit from this module.
7
7
  class BasePayloadsBuilder
8
8
  # Initializes the PayloadsBuilder with a record and an initial collection of payloads,
9
- def initialize(record, payloads)
9
+ def initialize(record, payloads, params = {})
10
10
  @record = record
11
11
  @payloads = payloads
12
+ @params = params
12
13
  @loggable_attrs = record.class.loggable_attrs
13
14
  @public_attrs = record.class.public_attrs
14
15
  # @relation_config = record.relation_config
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LoggableActivity
4
+ module Services
5
+ # This service class builds custom payloads.
6
+ class CustomPayloadsBuilder < BasePayloadsBuilder
7
+ # Builds a custom payloads for a ::LoggableActivity::Activity.
8
+ def build
9
+ encryption_key = encryption_key_for_record(@record)
10
+ @secret_key = encryption_key&.secret_key
11
+ encrypted_attrs = build_custom_payloads(@params)
12
+
13
+ payload = ::LoggableActivity::Payload.new(
14
+ encryption_key:,
15
+ record: @record,
16
+ encrypted_record_name:,
17
+ encrypted_attrs:,
18
+ related_to_activity_as: 'custom_payload',
19
+ route: @record.class.route,
20
+ current_payload: true,
21
+ data_owner: @record,
22
+ public_attrs: {}
23
+ )
24
+
25
+ unless payload.valid?
26
+ error_message = "Payload validation failed: #{payload.errors.full_messages.join(', ')}"
27
+ raise LoggableActivity::Error, error_message
28
+ end
29
+
30
+ @payloads << payload
31
+ end
32
+
33
+ private
34
+
35
+ def encrypted_record_name
36
+ return encrypt_attr(@params[:display_name], @secret_key) if @params[:display_name]
37
+
38
+ encrypt_record_name_for_record(@record, @secret_key)
39
+ end
40
+
41
+ def build_custom_payloads(params)
42
+ params.transform_values do |value|
43
+ case value
44
+ when Hash
45
+ build_custom_payloads(value)
46
+ when Array
47
+ value.map { |v| v.is_a?(Hash) ? build_custom_payloads(v) : encrypt_attr(v, @secret_key) }
48
+ else
49
+ encrypt_attr(value, @secret_key)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -3,5 +3,5 @@
3
3
  # Version of the gem
4
4
  module LoggableActivity
5
5
  # Version
6
- VERSION = '0.5.4'
6
+ VERSION = '0.5.7'
7
7
  end
@@ -12,10 +12,11 @@ require 'loggable_activity/payload'
12
12
  require 'loggable_activity/error'
13
13
  require 'loggable_activity/sanitizer'
14
14
  require 'loggable_activity/services/base_payloads_builder'
15
+ require 'loggable_activity/services/custom_payloads_builder'
15
16
  require 'loggable_activity/services/payloads_builder'
16
17
  require 'loggable_activity/services/update_payloads_builder'
17
18
  require 'loggable_activity/services/destroy_payloads_builder'
18
- require 'loggable_activity/concerns/current_user'
19
+ require 'loggable_activity/concerns/current_actor'
19
20
  require 'kaminari'
20
21
 
21
22
  # LoggableActivity
@@ -48,6 +49,8 @@ require 'kaminari'
48
49
  #
49
50
  # This module is designed to be both powerful and easy to integrate, providing a solid foundation for activity logging.
50
51
  module LoggableActivity
51
- mattr_accessor :actor_class
52
+ mattr_accessor :actor_model_name
53
+ mattr_accessor :fetch_actor_name_from
52
54
  mattr_accessor :config_file_path
55
+ mattr_accessor :task_for_sanitization
53
56
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loggable_activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Groenlund
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-14 00:00:00.000000000 Z
11
+ date: 2024-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -118,114 +118,6 @@ dependencies:
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
120
  version: 3.6.3
121
- - !ruby/object:Gem::Dependency
122
- name: sqlite3
123
- requirement: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: 1.4.2
128
- type: :development
129
- prerelease: false
130
- version_requirements: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !ruby/object:Gem::Version
134
- version: 1.4.2
135
- - !ruby/object:Gem::Dependency
136
- name: awesome_print
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '1.9'
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: 1.9.2
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: '1.9'
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: 1.9.2
155
- - !ruby/object:Gem::Dependency
156
- name: factory_bot_rails
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '6.4'
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- version: 6.4.3
165
- type: :development
166
- prerelease: false
167
- version_requirements: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: '6.4'
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: 6.4.3
175
- - !ruby/object:Gem::Dependency
176
- name: faker
177
- requirement: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - "~>"
180
- - !ruby/object:Gem::Version
181
- version: '3.4'
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- version: 3.4.1
185
- type: :development
186
- prerelease: false
187
- version_requirements: !ruby/object:Gem::Requirement
188
- requirements:
189
- - - "~>"
190
- - !ruby/object:Gem::Version
191
- version: '3.4'
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: 3.4.1
195
- - !ruby/object:Gem::Dependency
196
- name: mocha
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '2.4'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '2.4'
209
- - !ruby/object:Gem::Dependency
210
- name: rubocop
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '1.60'
216
- - - ">="
217
- - !ruby/object:Gem::Version
218
- version: 1.60.2
219
- type: :development
220
- prerelease: false
221
- version_requirements: !ruby/object:Gem::Requirement
222
- requirements:
223
- - - "~>"
224
- - !ruby/object:Gem::Version
225
- version: '1.60'
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- version: 1.60.2
229
121
  description: |2
230
122
  LoggableActivity is a powerful gem for Ruby on Rails that provides seamless user activity logging
231
123
  prepared for GDPR compliance and supporting record relations. It allows you to effortlessly
@@ -245,6 +137,7 @@ files:
245
137
  - CHANGELOG.md
246
138
  - CHEAT_SHEET.md
247
139
  - CODE_OF_CONDUCT.md
140
+ - GETTING-STARTED.md
248
141
  - MIT-LICENSE
249
142
  - README.md
250
143
  - Rakefile
@@ -281,6 +174,117 @@ files:
281
174
  - config/initializers/kaminari_config.rb
282
175
  - config/routes.rb
283
176
  - db/migrate/20240702092648_create_loggable_activity_tables.rb
177
+ - docker-compose.yml
178
+ - docs/CHANGELOG_md.html
179
+ - docs/CHEAT_SHEET_md.html
180
+ - docs/CODE_OF_CONDUCT_md.html
181
+ - docs/CreateLoggableActivities.html
182
+ - docs/CreateLoggableActivityTables.html
183
+ - docs/GETTING-STARTED_md.html
184
+ - docs/Gemfile.html
185
+ - docs/Gemfile_lock.html
186
+ - docs/LoggableActivity.html
187
+ - docs/LoggableActivity/ActivitiesController.html
188
+ - docs/LoggableActivity/ActivitiesHelper.html
189
+ - docs/LoggableActivity/Activity.html
190
+ - docs/LoggableActivity/ApplicationController.html
191
+ - docs/LoggableActivity/ApplicationHelper.html
192
+ - docs/LoggableActivity/ApplicationJob.html
193
+ - docs/LoggableActivity/ApplicationMailer.html
194
+ - docs/LoggableActivity/ApplicationRecord.html
195
+ - docs/LoggableActivity/Configuration.html
196
+ - docs/LoggableActivity/ConfigurationError.html
197
+ - docs/LoggableActivity/CurrentActor.html
198
+ - docs/LoggableActivity/DataOwner.html
199
+ - docs/LoggableActivity/Encryption.html
200
+ - docs/LoggableActivity/EncryptionError.html
201
+ - docs/LoggableActivity/EncryptionKey.html
202
+ - docs/LoggableActivity/Engine.html
203
+ - docs/LoggableActivity/Error.html
204
+ - docs/LoggableActivity/Generators.html
205
+ - docs/LoggableActivity/Generators/InstallGenerator.html
206
+ - docs/LoggableActivity/Hooks.html
207
+ - docs/LoggableActivity/Payload.html
208
+ - docs/LoggableActivity/Sanitizer.html
209
+ - docs/LoggableActivity/Services.html
210
+ - docs/LoggableActivity/Services/BasePayloadsBuilder.html
211
+ - docs/LoggableActivity/Services/CustomPayloadsBuilder.html
212
+ - docs/LoggableActivity/Services/DestroyPayloadsBuilder.html
213
+ - docs/LoggableActivity/Services/PayloadsBuilder.html
214
+ - docs/LoggableActivity/Services/UpdatePayloadsBuilder.html
215
+ - docs/MIT-LICENSE.html
216
+ - docs/Object.html
217
+ - docs/README_md.html
218
+ - docs/Rakefile.html
219
+ - docs/app/assets/config/loggable_activity_manifest_js.html
220
+ - docs/app/assets/javascripts/loggable_activity/application_js.html
221
+ - docs/app/assets/stylesheets/loggable_activity/activities_scss.html
222
+ - docs/app/assets/stylesheets/loggable_activity/application_scss.html
223
+ - docs/app/views/layouts/loggable_activity/application_html_slim.html
224
+ - docs/app/views/loggable_activity/activities/_activities_html_slim.html
225
+ - docs/created.rid
226
+ - docs/css/fonts.css
227
+ - docs/css/rdoc.css
228
+ - docs/fonts/Lato-Light.ttf
229
+ - docs/fonts/Lato-LightItalic.ttf
230
+ - docs/fonts/Lato-Regular.ttf
231
+ - docs/fonts/Lato-RegularItalic.ttf
232
+ - docs/fonts/SourceCodePro-Bold.ttf
233
+ - docs/fonts/SourceCodePro-Regular.ttf
234
+ - docs/git-org/HEAD.html
235
+ - docs/git-org/config.html
236
+ - docs/git-org/description.html
237
+ - docs/git-org/hooks/applypatch-msg_sample.html
238
+ - docs/git-org/hooks/commit-msg_sample.html
239
+ - docs/git-org/hooks/fsmonitor-watchman_sample.html
240
+ - docs/git-org/hooks/post-update_sample.html
241
+ - docs/git-org/hooks/pre-applypatch_sample.html
242
+ - docs/git-org/hooks/pre-commit_sample.html
243
+ - docs/git-org/hooks/pre-merge-commit_sample.html
244
+ - docs/git-org/hooks/pre-push_sample.html
245
+ - docs/git-org/hooks/pre-rebase_sample.html
246
+ - docs/git-org/hooks/pre-receive_sample.html
247
+ - docs/git-org/hooks/prepare-commit-msg_sample.html
248
+ - docs/git-org/hooks/push-to-checkout_sample.html
249
+ - docs/git-org/hooks/update_sample.html
250
+ - docs/git-org/info/exclude.html
251
+ - docs/images/add.png
252
+ - docs/images/arrow_up.png
253
+ - docs/images/brick.png
254
+ - docs/images/brick_link.png
255
+ - docs/images/bug.png
256
+ - docs/images/bullet_black.png
257
+ - docs/images/bullet_toggle_minus.png
258
+ - docs/images/bullet_toggle_plus.png
259
+ - docs/images/date.png
260
+ - docs/images/delete.png
261
+ - docs/images/find.png
262
+ - docs/images/loadingAnimation.gif
263
+ - docs/images/macFFBgHack.png
264
+ - docs/images/package.png
265
+ - docs/images/page_green.png
266
+ - docs/images/page_white_text.png
267
+ - docs/images/page_white_width.png
268
+ - docs/images/plugin.png
269
+ - docs/images/ruby.png
270
+ - docs/images/tag_blue.png
271
+ - docs/images/tag_green.png
272
+ - docs/images/transparent.png
273
+ - docs/images/wrench.png
274
+ - docs/images/wrench_orange.png
275
+ - docs/images/zoom.png
276
+ - docs/index.html
277
+ - docs/js/darkfish.js
278
+ - docs/js/navigation.js
279
+ - docs/js/navigation.js.gz
280
+ - docs/js/search.js
281
+ - docs/js/search_index.js
282
+ - docs/js/search_index.js.gz
283
+ - docs/js/searcher.js
284
+ - docs/js/searcher.js.gz
285
+ - docs/lib/loggable_activity/config_schema_json.html
286
+ - docs/lib/tasks/loggable_activity_tasks_rake.html
287
+ - docs/table_of_contents.html
284
288
  - git-org/HEAD
285
289
  - git-org/config
286
290
  - git-org/description
@@ -298,10 +302,15 @@ files:
298
302
  - git-org/hooks/push-to-checkout.sample
299
303
  - git-org/hooks/update.sample
300
304
  - git-org/info/exclude
305
+ - lib/generators/loggable_activity/install/install_generator.rb
306
+ - lib/generators/loggable_activity/install/templates/create_loggable_activities.rb
307
+ - lib/generators/loggable_activity/install/templates/loggable_activity.en.yml
308
+ - lib/generators/loggable_activity/install/templates/loggable_activity.rb
309
+ - lib/generators/loggable_activity/install/templates/loggable_activity.yml
301
310
  - lib/loggable_activity.rb
302
311
  - lib/loggable_activity/.DS_Store
303
312
  - lib/loggable_activity/activity.rb
304
- - lib/loggable_activity/concerns/current_user.rb
313
+ - lib/loggable_activity/concerns/current_actor.rb
305
314
  - lib/loggable_activity/config_schema.json
306
315
  - lib/loggable_activity/configuration.rb
307
316
  - lib/loggable_activity/data_owner.rb
@@ -313,6 +322,7 @@ files:
313
322
  - lib/loggable_activity/payload.rb
314
323
  - lib/loggable_activity/sanitizer.rb
315
324
  - lib/loggable_activity/services/base_payloads_builder.rb
325
+ - lib/loggable_activity/services/custom_payloads_builder.rb
316
326
  - lib/loggable_activity/services/destroy_payloads_builder.rb
317
327
  - lib/loggable_activity/services/payloads_builder.rb
318
328
  - lib/loggable_activity/services/update_payloads_builder.rb
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module LoggableActivity
4
- # Stores current user in a thread variable so is can be accessed from the LoggableActivity::Hook model
5
- module CurrentUser
6
- extend ActiveSupport::Concern
7
-
8
- included do
9
- before_action :set_current_user
10
- after_action :clear_current_user
11
- end
12
-
13
- private
14
-
15
- def set_current_user
16
- # return if request.path == "/users/sign_out"
17
- return unless current_user
18
-
19
- Thread.current[:current_user] = current_user
20
- end
21
-
22
- def clear_current_user
23
- Thread.current[:current_user] = nil
24
- end
25
- end
26
- end