propel_authentication 0.1.1

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 (102) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +290 -0
  4. data/Rakefile +12 -0
  5. data/lib/generators/propel_auth/install_generator.rb +486 -0
  6. data/lib/generators/propel_auth/pack_generator.rb +277 -0
  7. data/lib/generators/propel_auth/templates/agency.rb +7 -0
  8. data/lib/generators/propel_auth/templates/agent.rb +7 -0
  9. data/lib/generators/propel_auth/templates/auth/base_passwords_controller.rb.tt +99 -0
  10. data/lib/generators/propel_auth/templates/auth/base_tokens_controller.rb.tt +90 -0
  11. data/lib/generators/propel_auth/templates/auth/passwords_controller.rb.tt +126 -0
  12. data/lib/generators/propel_auth/templates/auth_mailer.rb +180 -0
  13. data/lib/generators/propel_auth/templates/authenticatable.rb +38 -0
  14. data/lib/generators/propel_auth/templates/concerns/confirmable.rb +145 -0
  15. data/lib/generators/propel_auth/templates/concerns/lockable.rb +123 -0
  16. data/lib/generators/propel_auth/templates/concerns/propel_authentication.rb +44 -0
  17. data/lib/generators/propel_auth/templates/concerns/rack_session_disable.rb +19 -0
  18. data/lib/generators/propel_auth/templates/concerns/recoverable.rb +124 -0
  19. data/lib/generators/propel_auth/templates/config/environments/development_email.rb +43 -0
  20. data/lib/generators/propel_auth/templates/db/migrate/create_agencies.rb +20 -0
  21. data/lib/generators/propel_auth/templates/db/migrate/create_agents.rb +11 -0
  22. data/lib/generators/propel_auth/templates/db/migrate/create_invitations.rb +28 -0
  23. data/lib/generators/propel_auth/templates/db/migrate/create_organizations.rb +18 -0
  24. data/lib/generators/propel_auth/templates/db/migrate/create_users.rb +43 -0
  25. data/lib/generators/propel_auth/templates/db/seeds.rb +29 -0
  26. data/lib/generators/propel_auth/templates/invitation.rb +133 -0
  27. data/lib/generators/propel_auth/templates/lib/propel_auth.rb +84 -0
  28. data/lib/generators/propel_auth/templates/organization.rb +7 -0
  29. data/lib/generators/propel_auth/templates/propel_auth.rb +132 -0
  30. data/lib/generators/propel_auth/templates/services/auth_notification_service.rb +89 -0
  31. data/lib/generators/propel_auth/templates/test/concerns/confirmable_test.rb.tt +247 -0
  32. data/lib/generators/propel_auth/templates/test/concerns/lockable_test.rb.tt +282 -0
  33. data/lib/generators/propel_auth/templates/test/concerns/propel_authentication_test.rb.tt +75 -0
  34. data/lib/generators/propel_auth/templates/test/concerns/recoverable_test.rb.tt +327 -0
  35. data/lib/generators/propel_auth/templates/test/controllers/auth/lockable_integration_test.rb.tt +196 -0
  36. data/lib/generators/propel_auth/templates/test/controllers/auth/password_reset_integration_test.rb.tt +471 -0
  37. data/lib/generators/propel_auth/templates/test/controllers/auth/tokens_controller_test.rb.tt +265 -0
  38. data/lib/generators/propel_auth/templates/test/mailers/auth_mailer_test.rb.tt +216 -0
  39. data/lib/generators/propel_auth/templates/test/mailers/previews/auth_mailer_preview.rb +161 -0
  40. data/lib/generators/propel_auth/templates/tokens_controller.rb.tt +96 -0
  41. data/lib/generators/propel_auth/templates/user.rb +21 -0
  42. data/lib/generators/propel_auth/templates/user_test.rb.tt +81 -0
  43. data/lib/generators/propel_auth/templates/views/auth_mailer/account_unlock.html.erb +213 -0
  44. data/lib/generators/propel_auth/templates/views/auth_mailer/account_unlock.text.erb +56 -0
  45. data/lib/generators/propel_auth/templates/views/auth_mailer/email_confirmation.html.erb +213 -0
  46. data/lib/generators/propel_auth/templates/views/auth_mailer/email_confirmation.text.erb +32 -0
  47. data/lib/generators/propel_auth/templates/views/auth_mailer/password_reset.html.erb +166 -0
  48. data/lib/generators/propel_auth/templates/views/auth_mailer/password_reset.text.erb +32 -0
  49. data/lib/generators/propel_auth/templates/views/auth_mailer/user_invitation.html.erb +194 -0
  50. data/lib/generators/propel_auth/templates/views/auth_mailer/user_invitation.text.erb +51 -0
  51. data/lib/generators/propel_auth/test/dummy/Dockerfile +72 -0
  52. data/lib/generators/propel_auth/test/dummy/Gemfile +63 -0
  53. data/lib/generators/propel_auth/test/dummy/Gemfile.lock +394 -0
  54. data/lib/generators/propel_auth/test/dummy/README.md +24 -0
  55. data/lib/generators/propel_auth/test/dummy/Rakefile +6 -0
  56. data/lib/generators/propel_auth/test/dummy/app/assets/stylesheets/application.css +10 -0
  57. data/lib/generators/propel_auth/test/dummy/app/controllers/application_controller.rb +4 -0
  58. data/lib/generators/propel_auth/test/dummy/app/helpers/application_helper.rb +2 -0
  59. data/lib/generators/propel_auth/test/dummy/app/jobs/application_job.rb +7 -0
  60. data/lib/generators/propel_auth/test/dummy/app/mailers/application_mailer.rb +4 -0
  61. data/lib/generators/propel_auth/test/dummy/app/models/application_record.rb +3 -0
  62. data/lib/generators/propel_auth/test/dummy/app/views/layouts/application.html.erb +27 -0
  63. data/lib/generators/propel_auth/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  64. data/lib/generators/propel_auth/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  65. data/lib/generators/propel_auth/test/dummy/app/views/pwa/manifest.json.erb +22 -0
  66. data/lib/generators/propel_auth/test/dummy/app/views/pwa/service-worker.js +26 -0
  67. data/lib/generators/propel_auth/test/dummy/bin/brakeman +7 -0
  68. data/lib/generators/propel_auth/test/dummy/bin/dev +2 -0
  69. data/lib/generators/propel_auth/test/dummy/bin/docker-entrypoint +14 -0
  70. data/lib/generators/propel_auth/test/dummy/bin/rails +4 -0
  71. data/lib/generators/propel_auth/test/dummy/bin/rake +4 -0
  72. data/lib/generators/propel_auth/test/dummy/bin/rubocop +8 -0
  73. data/lib/generators/propel_auth/test/dummy/bin/setup +34 -0
  74. data/lib/generators/propel_auth/test/dummy/bin/thrust +5 -0
  75. data/lib/generators/propel_auth/test/dummy/config/application.rb +42 -0
  76. data/lib/generators/propel_auth/test/dummy/config/boot.rb +4 -0
  77. data/lib/generators/propel_auth/test/dummy/config/cable.yml +10 -0
  78. data/lib/generators/propel_auth/test/dummy/config/credentials.yml.enc +1 -0
  79. data/lib/generators/propel_auth/test/dummy/config/database.yml +41 -0
  80. data/lib/generators/propel_auth/test/dummy/config/environment.rb +5 -0
  81. data/lib/generators/propel_auth/test/dummy/config/environments/development.rb +72 -0
  82. data/lib/generators/propel_auth/test/dummy/config/environments/production.rb +89 -0
  83. data/lib/generators/propel_auth/test/dummy/config/environments/test.rb +53 -0
  84. data/lib/generators/propel_auth/test/dummy/config/initializers/assets.rb +10 -0
  85. data/lib/generators/propel_auth/test/dummy/config/initializers/content_security_policy.rb +25 -0
  86. data/lib/generators/propel_auth/test/dummy/config/initializers/filter_parameter_logging.rb +8 -0
  87. data/lib/generators/propel_auth/test/dummy/config/initializers/inflections.rb +16 -0
  88. data/lib/generators/propel_auth/test/dummy/config/locales/en.yml +31 -0
  89. data/lib/generators/propel_auth/test/dummy/config/master.key +1 -0
  90. data/lib/generators/propel_auth/test/dummy/config/puma.rb +41 -0
  91. data/lib/generators/propel_auth/test/dummy/config/routes.rb +2 -0
  92. data/lib/generators/propel_auth/test/dummy/config/storage.yml +34 -0
  93. data/lib/generators/propel_auth/test/dummy/config.ru +6 -0
  94. data/lib/generators/propel_auth/test/dummy/db/schema.rb +14 -0
  95. data/lib/generators/propel_auth/test/generators/authentication/controllers/tokens_controller_test.rb +230 -0
  96. data/lib/generators/propel_auth/test/generators/authentication/install_generator_test.rb +490 -0
  97. data/lib/generators/propel_auth/test/generators/authentication/uninstall_generator_test.rb +408 -0
  98. data/lib/generators/propel_auth/test/integration/generator_integration_test.rb +158 -0
  99. data/lib/generators/propel_auth/test/integration/multi_version_generator_test.rb +125 -0
  100. data/lib/generators/propel_auth/unpack_generator.rb +345 -0
  101. data/lib/propel_auth.rb +3 -0
  102. metadata +195 -0
@@ -0,0 +1,394 @@
1
+ PATH
2
+ remote: ../..
3
+ specs:
4
+ propel_access (0.1.0)
5
+ rails (>= 7.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (8.0.2)
11
+ actionpack (= 8.0.2)
12
+ activesupport (= 8.0.2)
13
+ nio4r (~> 2.0)
14
+ websocket-driver (>= 0.6.1)
15
+ zeitwerk (~> 2.6)
16
+ actionmailbox (8.0.2)
17
+ actionpack (= 8.0.2)
18
+ activejob (= 8.0.2)
19
+ activerecord (= 8.0.2)
20
+ activestorage (= 8.0.2)
21
+ activesupport (= 8.0.2)
22
+ mail (>= 2.8.0)
23
+ actionmailer (8.0.2)
24
+ actionpack (= 8.0.2)
25
+ actionview (= 8.0.2)
26
+ activejob (= 8.0.2)
27
+ activesupport (= 8.0.2)
28
+ mail (>= 2.8.0)
29
+ rails-dom-testing (~> 2.2)
30
+ actionpack (8.0.2)
31
+ actionview (= 8.0.2)
32
+ activesupport (= 8.0.2)
33
+ nokogiri (>= 1.8.5)
34
+ rack (>= 2.2.4)
35
+ rack-session (>= 1.0.1)
36
+ rack-test (>= 0.6.3)
37
+ rails-dom-testing (~> 2.2)
38
+ rails-html-sanitizer (~> 1.6)
39
+ useragent (~> 0.16)
40
+ actiontext (8.0.2)
41
+ actionpack (= 8.0.2)
42
+ activerecord (= 8.0.2)
43
+ activestorage (= 8.0.2)
44
+ activesupport (= 8.0.2)
45
+ globalid (>= 0.6.0)
46
+ nokogiri (>= 1.8.5)
47
+ actionview (8.0.2)
48
+ activesupport (= 8.0.2)
49
+ builder (~> 3.1)
50
+ erubi (~> 1.11)
51
+ rails-dom-testing (~> 2.2)
52
+ rails-html-sanitizer (~> 1.6)
53
+ activejob (8.0.2)
54
+ activesupport (= 8.0.2)
55
+ globalid (>= 0.3.6)
56
+ activemodel (8.0.2)
57
+ activesupport (= 8.0.2)
58
+ activerecord (8.0.2)
59
+ activemodel (= 8.0.2)
60
+ activesupport (= 8.0.2)
61
+ timeout (>= 0.4.0)
62
+ activestorage (8.0.2)
63
+ actionpack (= 8.0.2)
64
+ activejob (= 8.0.2)
65
+ activerecord (= 8.0.2)
66
+ activesupport (= 8.0.2)
67
+ marcel (~> 1.0)
68
+ activesupport (8.0.2)
69
+ base64
70
+ benchmark (>= 0.3)
71
+ bigdecimal
72
+ concurrent-ruby (~> 1.0, >= 1.3.1)
73
+ connection_pool (>= 2.2.5)
74
+ drb
75
+ i18n (>= 1.6, < 2)
76
+ logger (>= 1.4.2)
77
+ minitest (>= 5.1)
78
+ securerandom (>= 0.3)
79
+ tzinfo (~> 2.0, >= 2.0.5)
80
+ uri (>= 0.13.1)
81
+ addressable (2.8.7)
82
+ public_suffix (>= 2.0.2, < 7.0)
83
+ ast (2.4.3)
84
+ base64 (0.3.0)
85
+ bcrypt (3.1.20)
86
+ bcrypt_pbkdf (1.1.1)
87
+ bcrypt_pbkdf (1.1.1-arm64-darwin)
88
+ bcrypt_pbkdf (1.1.1-x86_64-darwin)
89
+ benchmark (0.4.1)
90
+ bigdecimal (3.2.2)
91
+ bindex (0.8.1)
92
+ bootsnap (1.18.6)
93
+ msgpack (~> 1.2)
94
+ brakeman (7.0.2)
95
+ racc
96
+ builder (3.3.0)
97
+ childprocess (5.1.0)
98
+ logger (~> 1.5)
99
+ concurrent-ruby (1.3.5)
100
+ connection_pool (2.5.3)
101
+ crass (1.0.6)
102
+ date (3.4.1)
103
+ debug (1.11.0)
104
+ irb (~> 1.10)
105
+ reline (>= 0.3.8)
106
+ dotenv (3.1.8)
107
+ drb (2.2.3)
108
+ ed25519 (1.4.0)
109
+ erubi (1.13.1)
110
+ et-orbi (1.2.11)
111
+ tzinfo
112
+ fugit (1.11.1)
113
+ et-orbi (~> 1, >= 1.2.11)
114
+ raabro (~> 1.4)
115
+ globalid (1.2.1)
116
+ activesupport (>= 6.1)
117
+ i18n (1.14.7)
118
+ concurrent-ruby (~> 1.0)
119
+ importmap-rails (2.1.0)
120
+ actionpack (>= 6.0.0)
121
+ activesupport (>= 6.0.0)
122
+ railties (>= 6.0.0)
123
+ io-console (0.8.0)
124
+ irb (1.15.2)
125
+ pp (>= 0.6.0)
126
+ rdoc (>= 4.0.0)
127
+ reline (>= 0.4.2)
128
+ jbuilder (2.13.0)
129
+ actionview (>= 5.0.0)
130
+ activesupport (>= 5.0.0)
131
+ json (2.12.2)
132
+ jwt (2.10.2)
133
+ base64
134
+ kamal (2.7.0)
135
+ activesupport (>= 7.0)
136
+ base64 (~> 0.2)
137
+ bcrypt_pbkdf (~> 1.0)
138
+ concurrent-ruby (~> 1.2)
139
+ dotenv (~> 3.1)
140
+ ed25519 (~> 1.4)
141
+ net-ssh (~> 7.3)
142
+ sshkit (>= 1.23.0, < 2.0)
143
+ thor (~> 1.3)
144
+ zeitwerk (>= 2.6.18, < 3.0)
145
+ language_server-protocol (3.17.0.5)
146
+ launchy (3.1.1)
147
+ addressable (~> 2.8)
148
+ childprocess (~> 5.0)
149
+ logger (~> 1.6)
150
+ letter_opener (1.10.0)
151
+ launchy (>= 2.2, < 4)
152
+ lint_roller (1.1.0)
153
+ logger (1.7.0)
154
+ loofah (2.24.1)
155
+ crass (~> 1.0.2)
156
+ nokogiri (>= 1.12.0)
157
+ mail (2.8.1)
158
+ mini_mime (>= 0.1.1)
159
+ net-imap
160
+ net-pop
161
+ net-smtp
162
+ marcel (1.0.4)
163
+ mini_mime (1.1.5)
164
+ minitest (5.25.5)
165
+ msgpack (1.8.0)
166
+ net-imap (0.5.9)
167
+ date
168
+ net-protocol
169
+ net-pop (0.1.2)
170
+ net-protocol
171
+ net-protocol (0.2.2)
172
+ timeout
173
+ net-scp (4.1.0)
174
+ net-ssh (>= 2.6.5, < 8.0.0)
175
+ net-sftp (4.0.0)
176
+ net-ssh (>= 5.0.0, < 8.0.0)
177
+ net-smtp (0.5.1)
178
+ net-protocol
179
+ net-ssh (7.3.0)
180
+ nio4r (2.7.4)
181
+ nokogiri (1.18.8-aarch64-linux-gnu)
182
+ racc (~> 1.4)
183
+ nokogiri (1.18.8-aarch64-linux-musl)
184
+ racc (~> 1.4)
185
+ nokogiri (1.18.8-arm-linux-gnu)
186
+ racc (~> 1.4)
187
+ nokogiri (1.18.8-arm-linux-musl)
188
+ racc (~> 1.4)
189
+ nokogiri (1.18.8-arm64-darwin)
190
+ racc (~> 1.4)
191
+ nokogiri (1.18.8-x86_64-darwin)
192
+ racc (~> 1.4)
193
+ nokogiri (1.18.8-x86_64-linux-gnu)
194
+ racc (~> 1.4)
195
+ nokogiri (1.18.8-x86_64-linux-musl)
196
+ racc (~> 1.4)
197
+ ostruct (0.6.2)
198
+ parallel (1.27.0)
199
+ parser (3.3.8.0)
200
+ ast (~> 2.4.1)
201
+ racc
202
+ pp (0.6.2)
203
+ prettyprint
204
+ prettyprint (0.2.0)
205
+ prism (1.4.0)
206
+ propshaft (1.1.0)
207
+ actionpack (>= 7.0.0)
208
+ activesupport (>= 7.0.0)
209
+ rack
210
+ railties (>= 7.0.0)
211
+ psych (5.2.6)
212
+ date
213
+ stringio
214
+ public_suffix (6.0.2)
215
+ puma (6.6.0)
216
+ nio4r (~> 2.0)
217
+ raabro (1.4.0)
218
+ racc (1.8.1)
219
+ rack (3.1.16)
220
+ rack-session (2.1.1)
221
+ base64 (>= 0.1.0)
222
+ rack (>= 3.0.0)
223
+ rack-test (2.2.0)
224
+ rack (>= 1.3)
225
+ rackup (2.2.1)
226
+ rack (>= 3)
227
+ rails (8.0.2)
228
+ actioncable (= 8.0.2)
229
+ actionmailbox (= 8.0.2)
230
+ actionmailer (= 8.0.2)
231
+ actionpack (= 8.0.2)
232
+ actiontext (= 8.0.2)
233
+ actionview (= 8.0.2)
234
+ activejob (= 8.0.2)
235
+ activemodel (= 8.0.2)
236
+ activerecord (= 8.0.2)
237
+ activestorage (= 8.0.2)
238
+ activesupport (= 8.0.2)
239
+ bundler (>= 1.15.0)
240
+ railties (= 8.0.2)
241
+ rails-dom-testing (2.3.0)
242
+ activesupport (>= 5.0.0)
243
+ minitest
244
+ nokogiri (>= 1.6)
245
+ rails-html-sanitizer (1.6.2)
246
+ loofah (~> 2.21)
247
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
248
+ railties (8.0.2)
249
+ actionpack (= 8.0.2)
250
+ activesupport (= 8.0.2)
251
+ irb (~> 1.13)
252
+ rackup (>= 1.0.0)
253
+ rake (>= 12.2)
254
+ thor (~> 1.0, >= 1.2.2)
255
+ zeitwerk (~> 2.6)
256
+ rainbow (3.1.1)
257
+ rake (13.3.0)
258
+ rdoc (6.13.0)
259
+ psych (>= 4.0.0)
260
+ regexp_parser (2.10.0)
261
+ reline (0.6.1)
262
+ io-console (~> 0.5)
263
+ rubocop (1.77.0)
264
+ json (~> 2.3)
265
+ language_server-protocol (~> 3.17.0.2)
266
+ lint_roller (~> 1.1.0)
267
+ parallel (~> 1.10)
268
+ parser (>= 3.3.0.2)
269
+ rainbow (>= 2.2.2, < 4.0)
270
+ regexp_parser (>= 2.9.3, < 3.0)
271
+ rubocop-ast (>= 1.45.1, < 2.0)
272
+ ruby-progressbar (~> 1.7)
273
+ unicode-display_width (>= 2.4.0, < 4.0)
274
+ rubocop-ast (1.45.1)
275
+ parser (>= 3.3.7.2)
276
+ prism (~> 1.4)
277
+ rubocop-performance (1.25.0)
278
+ lint_roller (~> 1.1)
279
+ rubocop (>= 1.75.0, < 2.0)
280
+ rubocop-ast (>= 1.38.0, < 2.0)
281
+ rubocop-rails (2.32.0)
282
+ activesupport (>= 4.2.0)
283
+ lint_roller (~> 1.1)
284
+ rack (>= 1.1)
285
+ rubocop (>= 1.75.0, < 2.0)
286
+ rubocop-ast (>= 1.44.0, < 2.0)
287
+ rubocop-rails-omakase (1.1.0)
288
+ rubocop (>= 1.72)
289
+ rubocop-performance (>= 1.24)
290
+ rubocop-rails (>= 2.30)
291
+ ruby-progressbar (1.13.0)
292
+ securerandom (0.4.1)
293
+ solid_cable (3.0.11)
294
+ actioncable (>= 7.2)
295
+ activejob (>= 7.2)
296
+ activerecord (>= 7.2)
297
+ railties (>= 7.2)
298
+ solid_cache (1.0.7)
299
+ activejob (>= 7.2)
300
+ activerecord (>= 7.2)
301
+ railties (>= 7.2)
302
+ solid_queue (1.1.5)
303
+ activejob (>= 7.1)
304
+ activerecord (>= 7.1)
305
+ concurrent-ruby (>= 1.3.1)
306
+ fugit (~> 1.11.0)
307
+ railties (>= 7.1)
308
+ thor (~> 1.3.1)
309
+ sqlite3 (2.7.0-aarch64-linux-gnu)
310
+ sqlite3 (2.7.0-aarch64-linux-musl)
311
+ sqlite3 (2.7.0-arm-linux-gnu)
312
+ sqlite3 (2.7.0-arm-linux-musl)
313
+ sqlite3 (2.7.0-arm64-darwin)
314
+ sqlite3 (2.7.0-x86_64-darwin)
315
+ sqlite3 (2.7.0-x86_64-linux-gnu)
316
+ sqlite3 (2.7.0-x86_64-linux-musl)
317
+ sshkit (1.24.0)
318
+ base64
319
+ logger
320
+ net-scp (>= 1.1.2)
321
+ net-sftp (>= 2.1.2)
322
+ net-ssh (>= 2.8.0)
323
+ ostruct
324
+ stimulus-rails (1.3.4)
325
+ railties (>= 6.0.0)
326
+ stringio (3.1.7)
327
+ thor (1.3.2)
328
+ thruster (0.1.14)
329
+ thruster (0.1.14-aarch64-linux)
330
+ thruster (0.1.14-arm64-darwin)
331
+ thruster (0.1.14-x86_64-darwin)
332
+ thruster (0.1.14-x86_64-linux)
333
+ timeout (0.4.3)
334
+ turbo-rails (2.0.16)
335
+ actionpack (>= 7.1.0)
336
+ railties (>= 7.1.0)
337
+ tzinfo (2.0.6)
338
+ concurrent-ruby (~> 1.0)
339
+ unicode-display_width (3.1.4)
340
+ unicode-emoji (~> 4.0, >= 4.0.4)
341
+ unicode-emoji (4.0.4)
342
+ uri (1.0.3)
343
+ useragent (0.16.11)
344
+ web-console (4.2.1)
345
+ actionview (>= 6.0.0)
346
+ activemodel (>= 6.0.0)
347
+ bindex (>= 0.4.0)
348
+ railties (>= 6.0.0)
349
+ websocket-driver (0.8.0)
350
+ base64
351
+ websocket-extensions (>= 0.1.0)
352
+ websocket-extensions (0.1.5)
353
+ zeitwerk (2.7.3)
354
+
355
+ PLATFORMS
356
+ aarch64-linux
357
+ aarch64-linux-gnu
358
+ aarch64-linux-musl
359
+ arm-linux-gnu
360
+ arm-linux-musl
361
+ arm64-darwin
362
+ x86_64-darwin
363
+ x86_64-linux
364
+ x86_64-linux-gnu
365
+ x86_64-linux-musl
366
+
367
+ DEPENDENCIES
368
+ bcrypt (~> 3.1.20)
369
+ bootsnap
370
+ brakeman
371
+ debug
372
+ importmap-rails
373
+ jbuilder
374
+ jwt (~> 2.7)
375
+ kamal
376
+ letter_opener (~> 1.8)
377
+ propel_access!
378
+ propshaft
379
+ puma (>= 5.0)
380
+ rails (~> 8.0.2)
381
+ rdoc (= 6.13.0)
382
+ rubocop-rails-omakase
383
+ solid_cable
384
+ solid_cache
385
+ solid_queue
386
+ sqlite3 (>= 2.1)
387
+ stimulus-rails
388
+ thruster
389
+ turbo-rails
390
+ tzinfo-data
391
+ web-console
392
+
393
+ BUNDLED WITH
394
+ 2.6.8
@@ -0,0 +1,24 @@
1
+ # README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative "config/application"
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,10 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css.
3
+ *
4
+ * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
5
+ * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
6
+ * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
7
+ * depending on specificity.
8
+ *
9
+ * Consider organizing styles into separate files for maintainability.
10
+ */
@@ -0,0 +1,4 @@
1
+ class ApplicationController < ActionController::Base
2
+ # Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
3
+ allow_browser versions: :modern
4
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,7 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ # Automatically retry jobs that encountered a deadlock
3
+ # retry_on ActiveRecord::Deadlocked
4
+
5
+ # Most jobs are safe to ignore if the underlying records are no longer available
6
+ # discard_on ActiveJob::DeserializationError
7
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: "from@example.com"
3
+ layout "mailer"
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -0,0 +1,27 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= content_for(:title) || "Dummy" %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <meta name="apple-mobile-web-app-capable" content="yes">
7
+ <meta name="mobile-web-app-capable" content="yes">
8
+ <%= csrf_meta_tags %>
9
+ <%= csp_meta_tag %>
10
+
11
+ <%= yield :head %>
12
+
13
+ <%# Enable PWA manifest for installable apps (make sure to enable in config/routes.rb too!) %>
14
+ <%#= tag.link rel: "manifest", href: pwa_manifest_path(format: :json) %>
15
+
16
+ <link rel="icon" href="/icon.png" type="image/png">
17
+ <link rel="icon" href="/icon.svg" type="image/svg+xml">
18
+ <link rel="apple-touch-icon" href="/icon.png">
19
+
20
+ <%# Includes all stylesheet files in app/assets/stylesheets %>
21
+ <%= stylesheet_link_tag :app, "data-turbo-track": "reload" %>
22
+ </head>
23
+
24
+ <body>
25
+ <%= yield %>
26
+ </body>
27
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "Dummy",
3
+ "icons": [
4
+ {
5
+ "src": "/icon.png",
6
+ "type": "image/png",
7
+ "sizes": "512x512"
8
+ },
9
+ {
10
+ "src": "/icon.png",
11
+ "type": "image/png",
12
+ "sizes": "512x512",
13
+ "purpose": "maskable"
14
+ }
15
+ ],
16
+ "start_url": "/",
17
+ "display": "standalone",
18
+ "scope": "/",
19
+ "description": "Dummy.",
20
+ "theme_color": "red",
21
+ "background_color": "red"
22
+ }
@@ -0,0 +1,26 @@
1
+ // Add a service worker for processing Web Push notifications:
2
+ //
3
+ // self.addEventListener("push", async (event) => {
4
+ // const { title, options } = await event.data.json()
5
+ // event.waitUntil(self.registration.showNotification(title, options))
6
+ // })
7
+ //
8
+ // self.addEventListener("notificationclick", function(event) {
9
+ // event.notification.close()
10
+ // event.waitUntil(
11
+ // clients.matchAll({ type: "window" }).then((clientList) => {
12
+ // for (let i = 0; i < clientList.length; i++) {
13
+ // let client = clientList[i]
14
+ // let clientPath = (new URL(client.url)).pathname
15
+ //
16
+ // if (clientPath == event.notification.data.path && "focus" in client) {
17
+ // return client.focus()
18
+ // }
19
+ // }
20
+ //
21
+ // if (clients.openWindow) {
22
+ // return clients.openWindow(event.notification.data.path)
23
+ // }
24
+ // })
25
+ // )
26
+ // })
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ require "rubygems"
3
+ require "bundler/setup"
4
+
5
+ ARGV.unshift("--ensure-latest")
6
+
7
+ load Gem.bin_path("brakeman", "brakeman")
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ruby
2
+ exec "./bin/rails", "server", *ARGV
@@ -0,0 +1,14 @@
1
+ #!/bin/bash -e
2
+
3
+ # Enable jemalloc for reduced memory usage and latency.
4
+ if [ -z "${LD_PRELOAD+x}" ]; then
5
+ LD_PRELOAD=$(find /usr/lib -name libjemalloc.so.2 -print -quit)
6
+ export LD_PRELOAD
7
+ fi
8
+
9
+ # If running the rails server then create or migrate existing database
10
+ if [ "${@: -2:1}" == "./bin/rails" ] && [ "${@: -1:1}" == "server" ]; then
11
+ ./bin/rails db:prepare
12
+ fi
13
+
14
+ exec "${@}"
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path("../config/application", __dir__)
3
+ require_relative "../config/boot"
4
+ require "rails/commands"
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative "../config/boot"
3
+ require "rake"
4
+ Rake.application.run
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ require "rubygems"
3
+ require "bundler/setup"
4
+
5
+ # explicit rubocop config increases performance slightly while avoiding config confusion.
6
+ ARGV.unshift("--config", File.expand_path("../.rubocop.yml", __dir__))
7
+
8
+ load Gem.bin_path("rubocop", "rubocop")
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+ require "fileutils"
3
+
4
+ APP_ROOT = File.expand_path("..", __dir__)
5
+
6
+ def system!(*args)
7
+ system(*args, exception: true)
8
+ end
9
+
10
+ FileUtils.chdir APP_ROOT do
11
+ # This script is a way to set up or update your development environment automatically.
12
+ # This script is idempotent, so that you can run it at any time and get an expectable outcome.
13
+ # Add necessary setup steps to this file.
14
+
15
+ puts "== Installing dependencies =="
16
+ system("bundle check") || system!("bundle install")
17
+
18
+ # puts "\n== Copying sample files =="
19
+ # unless File.exist?("config/database.yml")
20
+ # FileUtils.cp "config/database.yml.sample", "config/database.yml"
21
+ # end
22
+
23
+ puts "\n== Preparing database =="
24
+ system! "bin/rails db:prepare"
25
+
26
+ puts "\n== Removing old logs and tempfiles =="
27
+ system! "bin/rails log:clear tmp:clear"
28
+
29
+ unless ARGV.include?("--skip-server")
30
+ puts "\n== Starting development server =="
31
+ STDOUT.flush # flush the output before exec(2) so that it displays
32
+ exec "bin/dev"
33
+ end
34
+ end
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ require "rubygems"
3
+ require "bundler/setup"
4
+
5
+ load Gem.bin_path("thruster", "thrust")