loggable_activity 0.2.1 → 0.5.0

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.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +29 -42
  3. data/.vscode/commands.json +2 -2
  4. data/.vscode/terminals.json +8 -8
  5. data/CHEAT_SHEET.md +31 -0
  6. data/MIT-LICENSE +21 -0
  7. data/README.md +31 -45
  8. data/Rakefile +6 -4
  9. data/app/assets/config/loggable_activity_manifest.js +4 -0
  10. data/app/assets/javascripts/loggable_activity/application.js +2 -0
  11. data/app/assets/stylesheets/loggable_activity/application.scss +20 -0
  12. data/app/controllers/concerns/.keep +0 -0
  13. data/app/controllers/loggable_activity/activities_controller.rb +12 -0
  14. data/app/controllers/loggable_activity/application_controller.rb +6 -0
  15. data/app/helpers/loggable_activity/activities_helper.rb +17 -0
  16. data/app/helpers/loggable_activity/application_helper.rb +6 -0
  17. data/app/jobs/loggable_activity/application_job.rb +6 -0
  18. data/app/mailers/loggable_activity/application_mailer.rb +8 -0
  19. data/app/models/loggable_activity/application_record.rb +7 -0
  20. data/app/views/kaminari/kaminari-turbo-bootstrap/_first_page.html.erb +14 -0
  21. data/app/views/kaminari/kaminari-turbo-bootstrap/_gap.html.erb +8 -0
  22. data/app/views/kaminari/kaminari-turbo-bootstrap/_last_page.html.erb +13 -0
  23. data/app/views/kaminari/kaminari-turbo-bootstrap/_next_page.html.erb +13 -0
  24. data/app/views/kaminari/kaminari-turbo-bootstrap/_page.html.erb +14 -0
  25. data/app/views/kaminari/kaminari-turbo-bootstrap/_paginator.html.erb +27 -0
  26. data/app/views/kaminari/kaminari-turbo-bootstrap/_prev_page.html.erb +14 -0
  27. data/app/views/layouts/loggable_activity/application.html.erb +19 -0
  28. data/app/views/loggable_activity/activities/_activities.html.erb +56 -0
  29. data/app/views/loggable_activity/activities/index.html.erb +7 -0
  30. data/app/views/loggable_activity/activities/show.html.erb +2 -0
  31. data/config/initializers/kaminari_config.rb +14 -0
  32. data/config/routes.rb +7 -0
  33. data/{lib/generators/loggable_activity/templates/create_loggable_activities.rb → db/migrate/20240702092648_create_loggable_activity_tables.rb} +18 -10
  34. data/git-org/HEAD +1 -0
  35. data/git-org/config +7 -0
  36. data/git-org/description +1 -0
  37. data/git-org/hooks/applypatch-msg.sample +15 -0
  38. data/git-org/hooks/commit-msg.sample +24 -0
  39. data/git-org/hooks/fsmonitor-watchman.sample +174 -0
  40. data/git-org/hooks/post-update.sample +8 -0
  41. data/git-org/hooks/pre-applypatch.sample +14 -0
  42. data/git-org/hooks/pre-commit.sample +49 -0
  43. data/git-org/hooks/pre-merge-commit.sample +13 -0
  44. data/git-org/hooks/pre-push.sample +53 -0
  45. data/git-org/hooks/pre-rebase.sample +169 -0
  46. data/git-org/hooks/pre-receive.sample +24 -0
  47. data/git-org/hooks/prepare-commit-msg.sample +42 -0
  48. data/git-org/hooks/push-to-checkout.sample +78 -0
  49. data/git-org/hooks/update.sample +128 -0
  50. data/git-org/info/exclude +6 -0
  51. data/lib/loggable_activity/activity.rb +3 -3
  52. data/lib/{schemas → loggable_activity}/config_schema.json +3 -3
  53. data/lib/loggable_activity/configuration.rb +51 -75
  54. data/lib/loggable_activity/data_owner.rb +0 -1
  55. data/lib/loggable_activity/encryption.rb +16 -7
  56. data/lib/loggable_activity/encryption_key.rb +4 -7
  57. data/lib/loggable_activity/engine.rb +27 -0
  58. data/lib/loggable_activity/error.rb +0 -10
  59. data/lib/loggable_activity/hooks.rb +10 -5
  60. data/lib/loggable_activity/payload.rb +8 -11
  61. data/lib/loggable_activity/sanitizer.rb +6 -2
  62. data/lib/loggable_activity/services/base_payloads_builder.rb +14 -5
  63. data/lib/loggable_activity/services/destroy_payloads_builder.rb +2 -1
  64. data/lib/loggable_activity/services/payloads_builder.rb +9 -2
  65. data/lib/loggable_activity/services/update_payloads_builder.rb +30 -2
  66. data/lib/loggable_activity/version.rb +1 -1
  67. data/lib/loggable_activity.rb +51 -14
  68. data/lib/tasks/loggable_activity_tasks.rake +6 -0
  69. metadata +129 -117
  70. data/.document +0 -1
  71. data/.nojekyll +0 -1
  72. data/.rspec +0 -3
  73. data/CONSIDERTIONS.md +0 -129
  74. data/GETTING-STARTED.md +0 -119
  75. data/LICENSE.txt +0 -21
  76. data/PAYLOAD_EXAMPLE.md +0 -63
  77. data/ROADMAP.md +0 -23
  78. data/docs/LoggableActivity/Activity.html +0 -555
  79. data/docs/LoggableActivity/Configuration.html +0 -330
  80. data/docs/LoggableActivity/ConfigurationError.html +0 -148
  81. data/docs/LoggableActivity/DataOwner.html +0 -138
  82. data/docs/LoggableActivity/Encryption.html +0 -234
  83. data/docs/LoggableActivity/EncryptionError.html +0 -145
  84. data/docs/LoggableActivity/EncryptionKey.html +0 -351
  85. data/docs/LoggableActivity/Error.html +0 -145
  86. data/docs/LoggableActivity/Hooks.html +0 -759
  87. data/docs/LoggableActivity/Payload.html +0 -432
  88. data/docs/LoggableActivity/Services/BasePayloadsBuilder.html +0 -442
  89. data/docs/LoggableActivity/Services/DestroyPayloadsBuilder.html +0 -395
  90. data/docs/LoggableActivity/Services/PayloadsBuilder.html +0 -342
  91. data/docs/LoggableActivity/Services/UpdatePayloadsBuilder.html +0 -490
  92. data/docs/LoggableActivity/Services.html +0 -93
  93. data/docs/LoggableActivity.html +0 -102
  94. data/docs/created.rid +0 -14
  95. data/docs/css/fonts.css +0 -167
  96. data/docs/css/rdoc.css +0 -687
  97. data/docs/fonts/Lato-Light.ttf +0 -0
  98. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  99. data/docs/fonts/Lato-Regular.ttf +0 -0
  100. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  101. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  102. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  103. data/docs/images/add.png +0 -0
  104. data/docs/images/arrow_up.png +0 -0
  105. data/docs/images/brick.png +0 -0
  106. data/docs/images/brick_link.png +0 -0
  107. data/docs/images/bug.png +0 -0
  108. data/docs/images/bullet_black.png +0 -0
  109. data/docs/images/bullet_toggle_minus.png +0 -0
  110. data/docs/images/bullet_toggle_plus.png +0 -0
  111. data/docs/images/date.png +0 -0
  112. data/docs/images/delete.png +0 -0
  113. data/docs/images/find.png +0 -0
  114. data/docs/images/loadingAnimation.gif +0 -0
  115. data/docs/images/macFFBgHack.png +0 -0
  116. data/docs/images/package.png +0 -0
  117. data/docs/images/page_green.png +0 -0
  118. data/docs/images/page_white_text.png +0 -0
  119. data/docs/images/page_white_width.png +0 -0
  120. data/docs/images/plugin.png +0 -0
  121. data/docs/images/ruby.png +0 -0
  122. data/docs/images/tag_blue.png +0 -0
  123. data/docs/images/tag_green.png +0 -0
  124. data/docs/images/transparent.png +0 -0
  125. data/docs/images/wrench.png +0 -0
  126. data/docs/images/wrench_orange.png +0 -0
  127. data/docs/images/zoom.png +0 -0
  128. data/docs/index.html +0 -99
  129. data/docs/js/darkfish.js +0 -97
  130. data/docs/js/navigation.js +0 -105
  131. data/docs/js/navigation.js.gz +0 -0
  132. data/docs/js/search.js +0 -110
  133. data/docs/js/search_index.js +0 -1
  134. data/docs/js/search_index.js.gz +0 -0
  135. data/docs/js/searcher.js +0 -229
  136. data/docs/js/searcher.js.gz +0 -0
  137. data/docs/table_of_contents.html +0 -617
  138. data/help/loggable_activity_help.txt +0 -19
  139. data/lib/generators/.DS_Store +0 -0
  140. data/lib/generators/loggable_activity/.DS_Store +0 -0
  141. data/lib/generators/loggable_activity/install_generator.rb +0 -109
  142. data/lib/generators/loggable_activity/templates/.DS_Store +0 -0
  143. data/lib/generators/loggable_activity/templates/binary_ids/create_loggable_activities.rb +0 -30
  144. data/lib/generators/loggable_activity/templates/config/locales/loggable_activity.en.yml +0 -36
  145. data/lib/generators/loggable_activity/templates/config/loggable_activity.yaml +0 -29
  146. data/lib/generators/loggable_activity/templates/loggable_activity.en.yaml +0 -36
  147. data/pkg/loggable_activity-0.1.35.gem +0 -0
  148. data/sig/loggable_activity.rbs +0 -4
  149. /data/{.rspec_status → app/assets/images/loggable_activity/.keep} +0 -0
  150. /data/lib/{generators/loggable_activity/templates → loggable_activity/concerns}/current_user.rb +0 -0
@@ -1,759 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>module LoggableActivity::Hooks - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
14
- <script src="../js/navigation.js" defer></script>
15
- <script src="../js/search.js" defer></script>
16
- <script src="../js/search_index.js" defer></script>
17
- <script src="../js/searcher.js" defer></script>
18
- <script src="../js/darkfish.js" defer></script>
19
-
20
- <link href="../css/fonts.css" rel="stylesheet">
21
- <link href="../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="module">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
-
61
-
62
-
63
- <div id="extends-section" class="nav-section">
64
- <h3>Extended With Modules</h3>
65
-
66
- <ul class="link-list">
67
- <li><span class="extend">ActiveSupport::Concern</span>
68
- </ul>
69
- </div>
70
-
71
-
72
- <!-- Method Quickref -->
73
- <div id="method-list-section" class="nav-section">
74
- <h3>Methods</h3>
75
-
76
- <ul class="link-list" role="directory">
77
- <li ><a href="#method-i-action_key">#action_key</a>
78
- <li ><a href="#method-i-actor__name_field">#actor__name_field</a>
79
- <li ><a href="#method-i-actor_secret_key">#actor_secret_key</a>
80
- <li ><a href="#method-i-base_action">#base_action</a>
81
- <li ><a href="#method-i-build_destroy_payload">#build_destroy_payload</a>
82
- <li ><a href="#method-i-build_payloads">#build_payloads</a>
83
- <li ><a href="#method-i-build_update_payloads">#build_update_payloads</a>
84
- <li ><a href="#method-i-create_activity">#create_activity</a>
85
- <li ><a href="#method-i-current_user_model-3F">#current_user_model?</a>
86
- <li ><a href="#method-i-encrypted_actor_name">#encrypted_actor_name</a>
87
- <li ><a href="#method-i-encryption_key_for_record">#encryption_key_for_record</a>
88
- <li ><a href="#method-i-fetch_current_user_name_from">#fetch_current_user_name_from</a>
89
- <li ><a href="#method-i-hooks_enabled-3F">#hooks_enabled?</a>
90
- <li ><a href="#method-i-log">#log</a>
91
- <li ><a href="#method-i-log_activity">#log_activity</a>
92
- <li ><a href="#method-i-log_create_activity">#log_create_activity</a>
93
- <li ><a href="#method-i-log_custom_activity">#log_custom_activity</a>
94
- <li ><a href="#method-i-log_destroy">#log_destroy</a>
95
- <li ><a href="#method-i-log_destroy_activity">#log_destroy_activity</a>
96
- <li ><a href="#method-i-log_update">#log_update</a>
97
- <li ><a href="#method-i-log_update_activity">#log_update_activity</a>
98
- <li ><a href="#method-i-mark_encryption_keys_as_deleted">#mark_encryption_keys_as_deleted</a>
99
- <li ><a href="#method-i-nothing_to_log-3F">#nothing_to_log?</a>
100
- <li ><a href="#method-i-primary_encryption_key">#primary_encryption_key</a>
101
- </ul>
102
- </div>
103
-
104
- </div>
105
- </nav>
106
-
107
- <main role="main" aria-labelledby="module-LoggableActivity::Hooks">
108
- <h1 id="module-LoggableActivity::Hooks" class="module">
109
- module LoggableActivity::Hooks
110
- </h1>
111
-
112
- <section class="description">
113
-
114
- <p>When included to a model, it provides the features for logging events regarding to the model. For this to work you have to update the configuration file ‘config/loggable_activity.yaml</p>
115
-
116
- </section>
117
-
118
- <section id="5Buntitled-5D" class="documentation-section">
119
-
120
-
121
-
122
- <section class="attribute-method-details" class="method-section">
123
- <header>
124
- <h3>Attributes</h3>
125
- </header>
126
-
127
- <div id="attribute-i-disable_hooks" class="method-detail">
128
- <div class="method-heading attribute-method-heading">
129
- <span class="method-name">disable_hooks</span><span
130
- class="attribute-access-type">[RW]</span>
131
- </div>
132
-
133
- <div class="method-description">
134
- <p>The <a href="Hooks.html#attribute-i-disable_hooks"><code>disable_hooks</code></a> attribute is used to disable hooks when a model is created or updated by a parent model.</p>
135
- </div>
136
- </div>
137
- </section>
138
-
139
-
140
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
141
- <header>
142
- <h3>Public Instance Methods</h3>
143
- </header>
144
-
145
- <div id="method-i-log" class="method-detail ">
146
- <div class="method-header">
147
- <div class="method-heading">
148
- <span class="method-name">log</span><span
149
- class="method-args">(action, actor: nil, params: {})</span>
150
- <span class="method-click-advice">click to toggle source</span>
151
- </div>
152
- </div>
153
-
154
- <div class="method-description">
155
- <p>Logs an activity with the specified action, actor, and params.</p>
156
-
157
- <pre>@param action [Symbol] The action to log (:create, :update, :destroy, or custom).
158
- @param actor [Object] The actor performing the action.
159
- @param params [Hash] Additional parameters for the activity.</pre>
160
-
161
- <div class="method-source-code" id="log-source">
162
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 42</span>
163
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log</span>(<span class="ruby-identifier">action</span>, <span class="ruby-value">actor:</span> <span class="ruby-keyword">nil</span>, <span class="ruby-value">params:</span> {})
164
- <span class="ruby-ivar">@action</span> = <span class="ruby-identifier">action</span>
165
- <span class="ruby-ivar">@actor</span> = <span class="ruby-identifier">actor</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">current</span>[<span class="ruby-value">:current_user</span>]
166
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@actor</span>.<span class="ruby-identifier">nil?</span>
167
-
168
- <span class="ruby-ivar">@record</span> = <span class="ruby-keyword">self</span>
169
- <span class="ruby-ivar">@params</span> = <span class="ruby-identifier">params</span>
170
- <span class="ruby-ivar">@payloads</span> = []
171
-
172
- <span class="ruby-keyword">case</span> <span class="ruby-identifier">action</span>
173
- <span class="ruby-keyword">when</span> <span class="ruby-value">:create</span>, <span class="ruby-value">:show</span>
174
- <span class="ruby-identifier">log_activity</span>
175
- <span class="ruby-keyword">when</span> <span class="ruby-value">:destroy</span>
176
- <span class="ruby-identifier">log_destroy</span>
177
- <span class="ruby-keyword">when</span> <span class="ruby-value">:update</span>
178
- <span class="ruby-identifier">log_update</span>
179
- <span class="ruby-keyword">else</span>
180
- <span class="ruby-identifier">log_custom_activity</span>(<span class="ruby-identifier">action</span>)
181
- <span class="ruby-keyword">end</span>
182
- <span class="ruby-keyword">end</span></pre>
183
- </div>
184
- </div>
185
-
186
-
187
- </div>
188
-
189
- </section>
190
-
191
- <section id="private-instance-5Buntitled-5D-method-details" class="method-section">
192
- <header>
193
- <h3>Private Instance Methods</h3>
194
- </header>
195
-
196
- <div id="method-i-action_key" class="method-detail ">
197
- <div class="method-header">
198
- <div class="method-heading">
199
- <span class="method-name">action_key</span><span
200
- class="method-args">()</span>
201
- <span class="method-click-advice">click to toggle source</span>
202
- </div>
203
- </div>
204
-
205
- <div class="method-description">
206
- <p>Returns the action key for the current action.</p>
207
-
208
- <div class="method-source-code" id="action_key-source">
209
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 172</span>
210
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">action_key</span>
211
- <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">base_action</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;.#{@action}&quot;</span>
212
- <span class="ruby-keyword">end</span></pre>
213
- </div>
214
- </div>
215
-
216
-
217
- </div>
218
-
219
- <div id="method-i-actor__name_field" class="method-detail ">
220
- <div class="method-header">
221
- <div class="method-heading">
222
- <span class="method-name">actor__name_field</span><span
223
- class="method-args">()</span>
224
- <span class="method-click-advice">click to toggle source</span>
225
- </div>
226
- </div>
227
-
228
- <div class="method-description">
229
- <p>Returns the display name of the actor.</p>
230
-
231
- <div class="method-source-code" id="actor__name_field-source">
232
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 192</span>
233
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor__name_field</span>
234
- <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">loggable_activity</span>.<span class="ruby-identifier">actor_display_name</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;id: #{@actor.id}, class: #{@actor.class.name}&quot;</span>
235
- <span class="ruby-keyword">end</span></pre>
236
- </div>
237
- </div>
238
-
239
-
240
- </div>
241
-
242
- <div id="method-i-actor_secret_key" class="method-detail ">
243
- <div class="method-header">
244
- <div class="method-heading">
245
- <span class="method-name">actor_secret_key</span><span
246
- class="method-args">()</span>
247
- <span class="method-click-advice">click to toggle source</span>
248
- </div>
249
- </div>
250
-
251
- <div class="method-description">
252
- <p>Returns the encryption key for the actor.</p>
253
-
254
- <div class="method-source-code" id="actor_secret_key-source">
255
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 187</span>
256
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">actor_secret_key</span>
257
- <span class="ruby-identifier">encryption_key_for_record</span>(<span class="ruby-ivar">@actor</span>)&amp;.<span class="ruby-identifier">secret_key</span>
258
- <span class="ruby-keyword">end</span></pre>
259
- </div>
260
- </div>
261
-
262
-
263
- </div>
264
-
265
- <div id="method-i-base_action" class="method-detail ">
266
- <div class="method-header">
267
- <div class="method-heading">
268
- <span class="method-name">base_action</span><span
269
- class="method-args">()</span>
270
- <span class="method-click-advice">click to toggle source</span>
271
- </div>
272
- </div>
273
-
274
- <div class="method-description">
275
- <p>Convert the model name and name space in to ‘base_action’.</p>
276
-
277
- <div class="method-source-code" id="base_action-source">
278
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 206</span>
279
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">base_action</span>
280
- <span class="ruby-identifier">name</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;::&#39;</span>, <span class="ruby-string">&#39;/&#39;</span>)
281
- <span class="ruby-keyword">end</span></pre>
282
- </div>
283
- </div>
284
-
285
-
286
- </div>
287
-
288
- <div id="method-i-build_destroy_payload" class="method-detail ">
289
- <div class="method-header">
290
- <div class="method-heading">
291
- <span class="method-name">build_destroy_payload</span><span
292
- class="method-args">()</span>
293
- <span class="method-click-advice">click to toggle source</span>
294
- </div>
295
- </div>
296
-
297
- <div class="method-description">
298
- <p>Builds destroy payloads for the current action.</p>
299
-
300
- <div class="method-source-code" id="build_destroy_payload-source">
301
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 106</span>
302
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_destroy_payload</span>
303
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Services</span><span class="ruby-operator">::</span><span class="ruby-constant">DestroyPayloadsBuilder</span>
304
- .<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@payloads</span>).<span class="ruby-identifier">build</span>
305
- <span class="ruby-keyword">end</span></pre>
306
- </div>
307
- </div>
308
-
309
-
310
- </div>
311
-
312
- <div id="method-i-build_payloads" class="method-detail ">
313
- <div class="method-header">
314
- <div class="method-heading">
315
- <span class="method-name">build_payloads</span><span
316
- class="method-args">()</span>
317
- <span class="method-click-advice">click to toggle source</span>
318
- </div>
319
- </div>
320
-
321
- <div class="method-description">
322
- <p>Builds payloads for the current action.</p>
323
-
324
- <div class="method-source-code" id="build_payloads-source">
325
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 100</span>
326
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_payloads</span>
327
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Services</span><span class="ruby-operator">::</span><span class="ruby-constant">PayloadsBuilder</span>
328
- .<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@payloads</span>).<span class="ruby-identifier">build</span>
329
- <span class="ruby-keyword">end</span></pre>
330
- </div>
331
- </div>
332
-
333
-
334
- </div>
335
-
336
- <div id="method-i-build_update_payloads" class="method-detail ">
337
- <div class="method-header">
338
- <div class="method-heading">
339
- <span class="method-name">build_update_payloads</span><span
340
- class="method-args">()</span>
341
- <span class="method-click-advice">click to toggle source</span>
342
- </div>
343
- </div>
344
-
345
- <div class="method-description">
346
- <p>Builds update payloads for the current action.</p>
347
-
348
- <div class="method-source-code" id="build_update_payloads-source">
349
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 94</span>
350
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">build_update_payloads</span>
351
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Services</span><span class="ruby-operator">::</span><span class="ruby-constant">UpdatePayloadsBuilder</span>
352
- .<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@payloads</span>).<span class="ruby-identifier">build</span>
353
- <span class="ruby-keyword">end</span></pre>
354
- </div>
355
- </div>
356
-
357
-
358
- </div>
359
-
360
- <div id="method-i-create_activity" class="method-detail ">
361
- <div class="method-header">
362
- <div class="method-heading">
363
- <span class="method-name">create_activity</span><span
364
- class="method-args">(payloads)</span>
365
- <span class="method-click-advice">click to toggle source</span>
366
- </div>
367
- </div>
368
-
369
- <div class="method-description">
370
- <p>Creates an activity with the specified payloads.</p>
371
-
372
- <div class="method-source-code" id="create_activity-source">
373
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 81</span>
374
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">create_activity</span>(<span class="ruby-identifier">payloads</span>)
375
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">nothing_to_log?</span>(<span class="ruby-identifier">payloads</span>)
376
-
377
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Activity</span>.<span class="ruby-identifier">create!</span>(
378
- <span class="ruby-value">encrypted_actor_name:</span>,
379
- <span class="ruby-value">action:</span> <span class="ruby-identifier">action_key</span>,
380
- <span class="ruby-value">actor:</span> <span class="ruby-ivar">@actor</span>,
381
- <span class="ruby-value">record:</span> <span class="ruby-keyword">self</span>,
382
- <span class="ruby-value">payloads:</span>
383
- )
384
- <span class="ruby-keyword">end</span></pre>
385
- </div>
386
- </div>
387
-
388
-
389
- </div>
390
-
391
- <div id="method-i-current_user_model-3F" class="method-detail ">
392
- <div class="method-header">
393
- <div class="method-heading">
394
- <span class="method-name">current_user_model?</span><span
395
- class="method-args">()</span>
396
- <span class="method-click-advice">click to toggle source</span>
397
- </div>
398
- </div>
399
-
400
- <div class="method-description">
401
- <p>Returns the model name of the current user.</p>
402
-
403
- <div class="method-source-code" id="current_user_model-3F-source">
404
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 197</span>
405
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">current_user_model?</span>
406
- <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">loggable_activity</span>.<span class="ruby-identifier">current_user_model_name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>
407
- <span class="ruby-keyword">end</span></pre>
408
- </div>
409
- </div>
410
-
411
-
412
- </div>
413
-
414
- <div id="method-i-encrypted_actor_name" class="method-detail ">
415
- <div class="method-header">
416
- <div class="method-heading">
417
- <span class="method-name">encrypted_actor_name</span><span
418
- class="method-args">()</span>
419
- <span class="method-click-advice">click to toggle source</span>
420
- </div>
421
- </div>
422
-
423
- <div class="method-description">
424
- <p>Returns the encrypted name of the actor.</p>
425
-
426
- <div class="method-source-code" id="encrypted_actor_name-source">
427
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 161</span>
428
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encrypted_actor_name</span>
429
- <span class="ruby-identifier">name</span> = <span class="ruby-ivar">@actor</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">fetch_current_user_name_from</span>)
430
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Encryption</span>.<span class="ruby-identifier">encrypt</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">actor_secret_key</span>)
431
- <span class="ruby-keyword">end</span></pre>
432
- </div>
433
- </div>
434
-
435
-
436
- </div>
437
-
438
- <div id="method-i-encryption_key_for_record" class="method-detail ">
439
- <div class="method-header">
440
- <div class="method-heading">
441
- <span class="method-name">encryption_key_for_record</span><span
442
- class="method-args">(record = @record)</span>
443
- <span class="method-click-advice">click to toggle source</span>
444
- </div>
445
- </div>
446
-
447
- <div class="method-description">
448
- <p>Returns the encryption key for the record.</p>
449
-
450
- <div class="method-source-code" id="encryption_key_for_record-source">
451
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 182</span>
452
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encryption_key_for_record</span>(<span class="ruby-identifier">record</span> = <span class="ruby-ivar">@record</span>)
453
- <span class="ruby-operator">::</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>)
454
- <span class="ruby-keyword">end</span></pre>
455
- </div>
456
- </div>
457
-
458
-
459
- </div>
460
-
461
- <div id="method-i-fetch_current_user_name_from" class="method-detail ">
462
- <div class="method-header">
463
- <div class="method-heading">
464
- <span class="method-name">fetch_current_user_name_from</span><span
465
- class="method-args">()</span>
466
- <span class="method-click-advice">click to toggle source</span>
467
- </div>
468
- </div>
469
-
470
- <div class="method-description">
471
- <p>Reads the field to feetch the record name from.</p>
472
-
473
- <div class="method-source-code" id="fetch_current_user_name_from-source">
474
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 167</span>
475
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">fetch_current_user_name_from</span>
476
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">fetch_current_user_name_from</span>
477
- <span class="ruby-keyword">end</span></pre>
478
- </div>
479
- </div>
480
-
481
-
482
- </div>
483
-
484
- <div id="method-i-hooks_enabled-3F" class="method-detail ">
485
- <div class="method-header">
486
- <div class="method-heading">
487
- <span class="method-name">hooks_enabled?</span><span
488
- class="method-args">()</span>
489
- <span class="method-click-advice">click to toggle source</span>
490
- </div>
491
- </div>
492
-
493
- <div class="method-description">
494
- <p><a href="Hooks.html"><code>Hooks</code></a> can disabled when a model is created or updated by a parrent model.</p>
495
-
496
- <div class="method-source-code" id="hooks_enabled-3F-source">
497
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 128</span>
498
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">hooks_enabled?</span>
499
- <span class="ruby-identifier">enabled</span> = <span class="ruby-identifier">disable_hooks</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">disable_hooks</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
500
- <span class="ruby-keyword">self</span>.<span class="ruby-identifier">disable_hooks</span> = <span class="ruby-keyword">false</span>
501
- <span class="ruby-identifier">enabled</span>
502
- <span class="ruby-keyword">end</span></pre>
503
- </div>
504
- </div>
505
-
506
-
507
- </div>
508
-
509
- <div id="method-i-log_activity" class="method-detail ">
510
- <div class="method-header">
511
- <div class="method-heading">
512
- <span class="method-name">log_activity</span><span
513
- class="method-args">()</span>
514
- <span class="method-click-advice">click to toggle source</span>
515
- </div>
516
- </div>
517
-
518
- <div class="method-description">
519
- <p>Logs an activity for the current action.</p>
520
-
521
- <div class="method-source-code" id="log_activity-source">
522
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 66</span>
523
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_activity</span>
524
- <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_payloads</span>)
525
- <span class="ruby-keyword">end</span></pre>
526
- </div>
527
- </div>
528
-
529
-
530
- </div>
531
-
532
- <div id="method-i-log_create_activity" class="method-detail ">
533
- <div class="method-header">
534
- <div class="method-heading">
535
- <span class="method-name">log_create_activity</span><span
536
- class="method-args">()</span>
537
- <span class="method-click-advice">click to toggle source</span>
538
- </div>
539
- </div>
540
-
541
- <div class="method-description">
542
- <p>Logs a create activity automatically if configured.</p>
543
-
544
- <div class="method-source-code" id="log_create_activity-source">
545
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 135</span>
546
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_create_activity</span>
547
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks_enabled?</span>
548
-
549
- <span class="ruby-identifier">log</span>(<span class="ruby-value">:create</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">auto_log</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&#39;create&#39;</span>)
550
- <span class="ruby-keyword">end</span></pre>
551
- </div>
552
- </div>
553
-
554
-
555
- </div>
556
-
557
- <div id="method-i-log_custom_activity" class="method-detail ">
558
- <div class="method-header">
559
- <div class="method-heading">
560
- <span class="method-name">log_custom_activity</span><span
561
- class="method-args">(activity)</span>
562
- <span class="method-click-advice">click to toggle source</span>
563
- </div>
564
- </div>
565
-
566
- <div class="method-description">
567
- <p>Logs a custom activity.</p>
568
-
569
- <div class="method-source-code" id="log_custom_activity-source">
570
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 117</span>
571
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_custom_activity</span>(<span class="ruby-identifier">activity</span>); <span class="ruby-keyword">end</span></pre>
572
- </div>
573
- </div>
574
-
575
-
576
- </div>
577
-
578
- <div id="method-i-log_destroy" class="method-detail ">
579
- <div class="method-header">
580
- <div class="method-heading">
581
- <span class="method-name">log_destroy</span><span
582
- class="method-args">()</span>
583
- <span class="method-click-advice">click to toggle source</span>
584
- </div>
585
- </div>
586
-
587
- <div class="method-description">
588
- <p>Logs an activity for the destroy action.</p>
589
-
590
- <div class="method-source-code" id="log_destroy-source">
591
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 76</span>
592
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_destroy</span>
593
- <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_destroy_payload</span>)
594
- <span class="ruby-keyword">end</span></pre>
595
- </div>
596
- </div>
597
-
598
-
599
- </div>
600
-
601
- <div id="method-i-log_destroy_activity" class="method-detail ">
602
- <div class="method-header">
603
- <div class="method-heading">
604
- <span class="method-name">log_destroy_activity</span><span
605
- class="method-args">()</span>
606
- <span class="method-click-advice">click to toggle source</span>
607
- </div>
608
- </div>
609
-
610
- <div class="method-description">
611
- <p>Logs a destroy activity automatically if configured.</p>
612
-
613
- <div class="method-source-code" id="log_destroy_activity-source">
614
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 142</span>
615
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_destroy_activity</span>
616
- <span class="ruby-identifier">mark_encryption_keys_as_deleted</span>
617
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks_enabled?</span>
618
-
619
- <span class="ruby-identifier">log</span>(<span class="ruby-value">:destroy</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">auto_log</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&#39;destroy&#39;</span>)
620
- <span class="ruby-keyword">end</span></pre>
621
- </div>
622
- </div>
623
-
624
-
625
- </div>
626
-
627
- <div id="method-i-log_update" class="method-detail ">
628
- <div class="method-header">
629
- <div class="method-heading">
630
- <span class="method-name">log_update</span><span
631
- class="method-args">()</span>
632
- <span class="method-click-advice">click to toggle source</span>
633
- </div>
634
- </div>
635
-
636
- <div class="method-description">
637
- <p>Logs an activity for the update action.</p>
638
-
639
- <div class="method-source-code" id="log_update-source">
640
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 71</span>
641
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_update</span>
642
- <span class="ruby-identifier">create_activity</span>(<span class="ruby-identifier">build_update_payloads</span>)
643
- <span class="ruby-keyword">end</span></pre>
644
- </div>
645
- </div>
646
-
647
-
648
- </div>
649
-
650
- <div id="method-i-log_update_activity" class="method-detail ">
651
- <div class="method-header">
652
- <div class="method-heading">
653
- <span class="method-name">log_update_activity</span><span
654
- class="method-args">()</span>
655
- <span class="method-click-advice">click to toggle source</span>
656
- </div>
657
- </div>
658
-
659
- <div class="method-description">
660
- <p>Logs an update activity automatically if configured.</p>
661
-
662
- <div class="method-source-code" id="log_update_activity-source">
663
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 120</span>
664
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">log_update_activity</span>
665
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks_enabled?</span>
666
-
667
- <span class="ruby-identifier">log</span>(<span class="ruby-value">:update</span>) <span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">auto_log</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">&#39;update&#39;</span>)
668
- <span class="ruby-keyword">end</span></pre>
669
- </div>
670
- </div>
671
-
672
-
673
- </div>
674
-
675
- <div id="method-i-mark_encryption_keys_as_deleted" class="method-detail ">
676
- <div class="method-header">
677
- <div class="method-heading">
678
- <span class="method-name">mark_encryption_keys_as_deleted</span><span
679
- class="method-args">()</span>
680
- <span class="method-click-advice">click to toggle source</span>
681
- </div>
682
- </div>
683
-
684
- <div class="method-description">
685
- <p>Fullfill the needs of the data owners. Mostly this will be performend a few one, from 1 to 5. Enumeration for different payload relation types</p>
686
-
687
- <div class="method-source-code" id="mark_encryption_keys_as_deleted-source">
688
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 152</span>
689
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">mark_encryption_keys_as_deleted</span>
690
- <span class="ruby-operator">::</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-keyword">self</span>)&amp;.<span class="ruby-identifier">mark_as_deleted!</span>
691
- <span class="ruby-comment"># data_owners = ::LoggableActivity::DataOwner.where(record: self)</span>
692
- <span class="ruby-operator">::</span><span class="ruby-constant">LoggableActivity</span><span class="ruby-operator">::</span><span class="ruby-constant">DataOwner</span>
693
- .<span class="ruby-identifier">where</span>(<span class="ruby-value">record:</span> <span class="ruby-keyword">self</span>)
694
- .<span class="ruby-identifier">each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:mark_as_deleted!</span>)
695
- <span class="ruby-keyword">end</span></pre>
696
- </div>
697
- </div>
698
-
699
-
700
- </div>
701
-
702
- <div id="method-i-nothing_to_log-3F" class="method-detail ">
703
- <div class="method-header">
704
- <div class="method-heading">
705
- <span class="method-name">nothing_to_log?</span><span
706
- class="method-args">(_payloads)</span>
707
- <span class="method-click-advice">click to toggle source</span>
708
- </div>
709
- </div>
710
-
711
- <div class="method-description">
712
- <p>Returns true if there are no payloads to log.</p>
713
-
714
- <div class="method-source-code" id="nothing_to_log-3F-source">
715
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 112</span>
716
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">nothing_to_log?</span>(<span class="ruby-identifier">_payloads</span>)
717
- <span class="ruby-ivar">@payloads</span>.<span class="ruby-identifier">empty?</span>
718
- <span class="ruby-keyword">end</span></pre>
719
- </div>
720
- </div>
721
-
722
-
723
- </div>
724
-
725
- <div id="method-i-primary_encryption_key" class="method-detail ">
726
- <div class="method-header">
727
- <div class="method-heading">
728
- <span class="method-name">primary_encryption_key</span><span
729
- class="method-args">()</span>
730
- <span class="method-click-advice">click to toggle source</span>
731
- </div>
732
- </div>
733
-
734
- <div class="method-description">
735
- <p>Returns the primary encryption key for the activity</p>
736
-
737
- <div class="method-source-code" id="primary_encryption_key-source">
738
- <pre><span class="ruby-comment"># File lib/loggable_activity/hooks.rb, line 177</span>
739
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">primary_encryption_key</span>
740
- <span class="ruby-identifier">encryption_key_for_record</span>
741
- <span class="ruby-keyword">end</span></pre>
742
- </div>
743
- </div>
744
-
745
-
746
- </div>
747
-
748
- </section>
749
-
750
- </section>
751
- </main>
752
-
753
-
754
- <footer id="validator-badges" role="contentinfo">
755
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
756
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.6.2.
757
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
758
- </footer>
759
-