monkrb 0.20.0 → 0.21.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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -0
  3. data/README.md +7 -6
  4. data/exe/monk +3 -181
  5. data/lib/monk/assets.rb +39 -9
  6. data/lib/monk/auth/errors.rb +3 -0
  7. data/lib/monk/auth/helpers.rb +11 -0
  8. data/lib/monk/auth/send_login_link.rb +36 -0
  9. data/lib/monk/auth.rb +34 -5
  10. data/lib/monk/bin.rb +107 -0
  11. data/lib/monk/cli.rb +277 -0
  12. data/lib/monk/context.rb +17 -0
  13. data/lib/monk/errors.rb +0 -6
  14. data/lib/monk/generator/definition.rb +153 -0
  15. data/lib/monk/generator/result.rb +279 -0
  16. data/lib/monk/generator/run.rb +449 -0
  17. data/lib/monk/generator.rb +48 -0
  18. data/lib/monk/generators/auth.rb +29 -0
  19. data/lib/monk/generators/base.rb +19 -0
  20. data/lib/monk/generators/jobs.rb +21 -0
  21. data/lib/monk/generators/live.rb +26 -0
  22. data/lib/monk/generators/mail.rb +24 -0
  23. data/lib/monk/generators/postgres.rb +23 -0
  24. data/lib/monk/generators/redis.rb +20 -0
  25. data/lib/monk/generators/websocket.rb +24 -0
  26. data/lib/monk/generators.rb +7 -0
  27. data/lib/monk/jobs.rb +7 -0
  28. data/lib/monk/live/helpers.rb +13 -0
  29. data/lib/monk/live.rb +12 -1
  30. data/lib/monk/log.rb +10 -1
  31. data/lib/monk/mail/deliver_later.rb +54 -0
  32. data/lib/monk/mail/later.rb +3 -51
  33. data/lib/monk/mail.rb +4 -0
  34. data/lib/monk/templates/auth/agents.md +29 -0
  35. data/lib/monk/templates/auth/app/mailers/{app_mailer.rb → auth_mailer.rb} +5 -5
  36. data/lib/monk/templates/auth/app/routes/auth.rb +48 -0
  37. data/lib/monk/templates/auth/app/views/auth/login.erb +25 -0
  38. data/lib/monk/templates/auth/config/auth.rb +8 -8
  39. data/lib/monk/templates/auth/setup.md +37 -0
  40. data/lib/monk/templates/auth/test/auth_test.rb +17 -0
  41. data/lib/monk/templates/base/CLAUDE.md +1 -0
  42. data/lib/monk/templates/base/Dockerfile +10 -5
  43. data/lib/monk/templates/base/Gemfile +7 -2
  44. data/lib/monk/templates/base/Rakefile +8 -0
  45. data/lib/monk/templates/base/agents.md +41 -0
  46. data/lib/monk/templates/base/app/app.rb +5 -0
  47. data/lib/monk/templates/base/app/routes/.keep +0 -0
  48. data/lib/monk/templates/base/app/views/index.erb +1 -1
  49. data/lib/monk/templates/base/app/views/layouts/app.erb +2 -0
  50. data/lib/monk/templates/base/config/load.rb +14 -0
  51. data/lib/monk/templates/base/config/settings.rb +4 -5
  52. data/lib/monk/templates/base/setup.md +22 -0
  53. data/lib/monk/templates/base/test/app_test.rb +12 -0
  54. data/lib/monk/templates/base/test/test_helper.rb +18 -0
  55. data/lib/monk/templates/jobs/agents.md +25 -0
  56. data/lib/monk/templates/jobs/app/routes/jobs.rb +9 -0
  57. data/lib/monk/templates/jobs/bin/jobs +19 -13
  58. data/lib/monk/templates/jobs/setup.md +30 -0
  59. data/lib/monk/templates/jobs/test/jobs_test.rb +16 -0
  60. data/lib/monk/templates/live/agents.md +25 -0
  61. data/lib/monk/templates/live/app/broadcasts/greeting.rb +13 -0
  62. data/lib/monk/templates/live/app/routes/demo_live.rb +21 -0
  63. data/lib/monk/templates/live/app/routes/live.rb +10 -0
  64. data/lib/monk/templates/live/app/views/demo/live.erb +18 -0
  65. data/lib/monk/templates/live/app/views/live/_greeting.erb +1 -0
  66. data/lib/monk/templates/live/config/live.rb +30 -32
  67. data/lib/monk/templates/live/config/live_without_demo.rb +38 -0
  68. data/lib/monk/templates/live/setup.md +39 -0
  69. data/lib/monk/templates/live/test/live_test.rb +22 -0
  70. data/lib/monk/templates/mail/agents.md +22 -0
  71. data/lib/monk/templates/mail/app/mailers/app_mailer.rb +14 -0
  72. data/lib/monk/templates/mail/app/routes/mail.rb +12 -0
  73. data/lib/monk/templates/mail/app/views/mail/welcome.erb +1 -0
  74. data/lib/monk/templates/mail/config/mail.rb +4 -4
  75. data/lib/monk/templates/mail/setup.md +32 -0
  76. data/lib/monk/templates/mail/test/mail_test.rb +13 -0
  77. data/lib/monk/templates/postgres/agents.md +25 -0
  78. data/lib/monk/templates/postgres/app/routes/postgres.rb +22 -0
  79. data/lib/monk/templates/postgres/bin/console +3 -1
  80. data/lib/monk/templates/postgres/bin/migrate +23 -17
  81. data/lib/monk/templates/postgres/bin/setup_db +11 -5
  82. data/lib/monk/templates/postgres/config/persistence.rb +1 -0
  83. data/lib/monk/templates/postgres/setup.md +38 -0
  84. data/lib/monk/templates/postgres/test/persistence_test.rb +11 -0
  85. data/lib/monk/templates/redis/agents.md +18 -0
  86. data/lib/monk/templates/redis/app/routes/redis.rb +15 -0
  87. data/lib/monk/templates/redis/config/redis.rb +13 -0
  88. data/lib/monk/templates/redis/setup.md +20 -0
  89. data/lib/monk/templates/redis/test/redis_test.rb +12 -0
  90. data/lib/monk/templates/websocket/agents.md +28 -0
  91. data/lib/monk/templates/websocket/app/sockets/chat.rb +18 -0
  92. data/lib/monk/templates/websocket/bin/websocket_server +62 -0
  93. data/lib/monk/templates/websocket/config/websocket_postgres.rb +38 -0
  94. data/lib/monk/templates/websocket/config/websocket_redis.rb +26 -0
  95. data/lib/monk/templates/websocket/setup.md +54 -0
  96. data/lib/monk/templates/websocket/test/websocket_test.rb +21 -0
  97. data/lib/monk/version.rb +1 -1
  98. data/lib/monk/websocket/server.rb +3 -1
  99. metadata +81 -14
  100. data/lib/monk/scaffold.rb +0 -1063
  101. data/lib/monk/templates/base/bin/websocket_server +0 -77
  102. data/lib/monk/templates/jobs/app/jobs/send_login_link.rb +0 -28
  103. data/lib/monk/templates/live/app/app.rb +0 -22
  104. data/lib/monk/templates/live/app/views/index.erb +0 -18
  105. data/lib/monk/templates/live/bin/websocket_server +0 -50
  106. data/lib/monk/templates/live/config/live_pg.rb +0 -60
  107. data/lib/monk/templates/mail/Gemfile.extra +0 -1
  108. data/lib/monk/templates/postgres/Dockerfile +0 -32
  109. data/lib/monk/templates/postgres/Gemfile.extra +0 -2
  110. data/lib/monk/templates/redis/Gemfile.extra +0 -1
  111. /data/lib/monk/templates/live/app/views/{live → demo}/_hits.erb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monkrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Folin
@@ -93,6 +93,20 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0.5'
96
+ - !ruby/object:Gem::Dependency
97
+ name: dotenv
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3.0'
96
110
  - !ruby/object:Gem::Dependency
97
111
  name: minitest
98
112
  requirement: !ruby/object:Gem::Requirement
@@ -170,12 +184,28 @@ files:
170
184
  - lib/monk/auth/helpers.rb
171
185
  - lib/monk/auth/login_token.rb
172
186
  - lib/monk/auth/rate_limiter.rb
187
+ - lib/monk/auth/send_login_link.rb
173
188
  - lib/monk/auth/session.rb
174
189
  - lib/monk/base.rb
190
+ - lib/monk/bin.rb
191
+ - lib/monk/cli.rb
175
192
  - lib/monk/context.rb
176
193
  - lib/monk/environment.rb
177
194
  - lib/monk/errors.rb
178
195
  - lib/monk/freeze_hooks.rb
196
+ - lib/monk/generator.rb
197
+ - lib/monk/generator/definition.rb
198
+ - lib/monk/generator/result.rb
199
+ - lib/monk/generator/run.rb
200
+ - lib/monk/generators.rb
201
+ - lib/monk/generators/auth.rb
202
+ - lib/monk/generators/base.rb
203
+ - lib/monk/generators/jobs.rb
204
+ - lib/monk/generators/live.rb
205
+ - lib/monk/generators/mail.rb
206
+ - lib/monk/generators/postgres.rb
207
+ - lib/monk/generators/redis.rb
208
+ - lib/monk/generators/websocket.rb
179
209
  - lib/monk/jobs.rb
180
210
  - lib/monk/jobs/adapters/pg.rb
181
211
  - lib/monk/jobs/args.rb
@@ -199,6 +229,7 @@ files:
199
229
  - lib/monk/log.rb
200
230
  - lib/monk/mail.rb
201
231
  - lib/monk/mail/address.rb
232
+ - lib/monk/mail/deliver_later.rb
202
233
  - lib/monk/mail/errors.rb
203
234
  - lib/monk/mail/later.rb
204
235
  - lib/monk/mail/message.rb
@@ -213,19 +244,26 @@ files:
213
244
  - lib/monk/persistence/pg/migrator.rb
214
245
  - lib/monk/persistence/pg/model.rb
215
246
  - lib/monk/persistence/pool.rb
216
- - lib/monk/scaffold.rb
217
247
  - lib/monk/settings.rb
218
248
  - lib/monk/state_ractor.rb
219
- - lib/monk/templates/auth/app/mailers/app_mailer.rb
249
+ - lib/monk/templates/auth/agents.md
250
+ - lib/monk/templates/auth/app/mailers/auth_mailer.rb
251
+ - lib/monk/templates/auth/app/routes/auth.rb
252
+ - lib/monk/templates/auth/app/views/auth/login.erb
220
253
  - lib/monk/templates/auth/app/views/mail/magic_link.erb
221
254
  - lib/monk/templates/auth/config/auth.rb
222
255
  - lib/monk/templates/auth/db/migrate/00000000000001_create_auth_tables.down.sql
223
256
  - lib/monk/templates/auth/db/migrate/00000000000001_create_auth_tables.up.sql
257
+ - lib/monk/templates/auth/setup.md
258
+ - lib/monk/templates/auth/test/auth_test.rb
224
259
  - lib/monk/templates/base/.dockerignore
225
260
  - lib/monk/templates/base/.gitignore
226
261
  - lib/monk/templates/base/.ruby-version
262
+ - lib/monk/templates/base/CLAUDE.md
227
263
  - lib/monk/templates/base/Dockerfile
228
264
  - lib/monk/templates/base/Gemfile
265
+ - lib/monk/templates/base/Rakefile
266
+ - lib/monk/templates/base/agents.md
229
267
  - lib/monk/templates/base/app/app.rb
230
268
  - lib/monk/templates/base/app/broadcasts/.keep
231
269
  - lib/monk/templates/base/app/helpers/.keep
@@ -233,37 +271,66 @@ files:
233
271
  - lib/monk/templates/base/app/mailers/.keep
234
272
  - lib/monk/templates/base/app/models/.keep
235
273
  - lib/monk/templates/base/app/presenters/.keep
274
+ - lib/monk/templates/base/app/routes/.keep
236
275
  - lib/monk/templates/base/app/views/index.erb
237
276
  - lib/monk/templates/base/app/views/layouts/app.erb
238
277
  - lib/monk/templates/base/bin/server
239
- - lib/monk/templates/base/bin/websocket_server
240
278
  - lib/monk/templates/base/config.ru
241
279
  - lib/monk/templates/base/config/load.rb
242
280
  - lib/monk/templates/base/config/settings.rb
243
281
  - lib/monk/templates/base/public/css/app.css
244
282
  - lib/monk/templates/base/public/js/app.js
283
+ - lib/monk/templates/base/setup.md
284
+ - lib/monk/templates/base/test/app_test.rb
285
+ - lib/monk/templates/base/test/test_helper.rb
286
+ - lib/monk/templates/jobs/agents.md
245
287
  - lib/monk/templates/jobs/app/jobs/hello_job.rb
246
- - lib/monk/templates/jobs/app/jobs/send_login_link.rb
288
+ - lib/monk/templates/jobs/app/routes/jobs.rb
247
289
  - lib/monk/templates/jobs/bin/jobs
248
290
  - lib/monk/templates/jobs/config/jobs.rb
249
291
  - lib/monk/templates/jobs/db/migrate/00000000000002_create_jobs_tables.down.sql
250
292
  - lib/monk/templates/jobs/db/migrate/00000000000002_create_jobs_tables.up.sql
251
- - lib/monk/templates/live/app/app.rb
252
- - lib/monk/templates/live/app/views/index.erb
253
- - lib/monk/templates/live/app/views/live/_hits.erb
254
- - lib/monk/templates/live/bin/websocket_server
293
+ - lib/monk/templates/jobs/setup.md
294
+ - lib/monk/templates/jobs/test/jobs_test.rb
295
+ - lib/monk/templates/live/agents.md
296
+ - lib/monk/templates/live/app/broadcasts/greeting.rb
297
+ - lib/monk/templates/live/app/routes/demo_live.rb
298
+ - lib/monk/templates/live/app/routes/live.rb
299
+ - lib/monk/templates/live/app/views/demo/_hits.erb
300
+ - lib/monk/templates/live/app/views/demo/live.erb
301
+ - lib/monk/templates/live/app/views/live/_greeting.erb
255
302
  - lib/monk/templates/live/config/live.rb
256
- - lib/monk/templates/live/config/live_pg.rb
257
- - lib/monk/templates/mail/Gemfile.extra
303
+ - lib/monk/templates/live/config/live_without_demo.rb
304
+ - lib/monk/templates/live/setup.md
305
+ - lib/monk/templates/live/test/live_test.rb
306
+ - lib/monk/templates/mail/agents.md
307
+ - lib/monk/templates/mail/app/mailers/app_mailer.rb
308
+ - lib/monk/templates/mail/app/routes/mail.rb
309
+ - lib/monk/templates/mail/app/views/mail/welcome.erb
258
310
  - lib/monk/templates/mail/config/mail.rb
259
- - lib/monk/templates/postgres/Dockerfile
260
- - lib/monk/templates/postgres/Gemfile.extra
311
+ - lib/monk/templates/mail/setup.md
312
+ - lib/monk/templates/mail/test/mail_test.rb
313
+ - lib/monk/templates/postgres/agents.md
314
+ - lib/monk/templates/postgres/app/routes/postgres.rb
261
315
  - lib/monk/templates/postgres/bin/console
262
316
  - lib/monk/templates/postgres/bin/migrate
263
317
  - lib/monk/templates/postgres/bin/setup_db
264
318
  - lib/monk/templates/postgres/config/persistence.rb
265
319
  - lib/monk/templates/postgres/db/migrate/.keep
266
- - lib/monk/templates/redis/Gemfile.extra
320
+ - lib/monk/templates/postgres/setup.md
321
+ - lib/monk/templates/postgres/test/persistence_test.rb
322
+ - lib/monk/templates/redis/agents.md
323
+ - lib/monk/templates/redis/app/routes/redis.rb
324
+ - lib/monk/templates/redis/config/redis.rb
325
+ - lib/monk/templates/redis/setup.md
326
+ - lib/monk/templates/redis/test/redis_test.rb
327
+ - lib/monk/templates/websocket/agents.md
328
+ - lib/monk/templates/websocket/app/sockets/chat.rb
329
+ - lib/monk/templates/websocket/bin/websocket_server
330
+ - lib/monk/templates/websocket/config/websocket_postgres.rb
331
+ - lib/monk/templates/websocket/config/websocket_redis.rb
332
+ - lib/monk/templates/websocket/setup.md
333
+ - lib/monk/templates/websocket/test/websocket_test.rb
267
334
  - lib/monk/version.rb
268
335
  - lib/monk/views.rb
269
336
  - lib/monk/websocket.rb