shiplog 0.3.1 → 0.4.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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +62 -4
  3. data/README.md +178 -7
  4. data/app/controllers/shiplog/admin/announcements_controller.rb +19 -0
  5. data/app/controllers/shiplog/admin/entries/announcement_notifications_controller.rb +18 -0
  6. data/app/controllers/shiplog/admin/entries/exports_controller.rb +45 -0
  7. data/app/controllers/shiplog/admin/entries/newsletter_retries_controller.rb +17 -0
  8. data/app/controllers/shiplog/admin/entries/newsletter_tests_controller.rb +39 -0
  9. data/app/controllers/shiplog/admin/entries/newsletters_controller.rb +40 -0
  10. data/app/controllers/shiplog/admin/entries/translations_controller.rb +1 -0
  11. data/app/controllers/shiplog/admin/entries_controller.rb +7 -3
  12. data/app/controllers/shiplog/admin/newsletter_subscribers_controller.rb +47 -0
  13. data/app/controllers/shiplog/changelog_entries_controller.rb +14 -2
  14. data/app/controllers/shiplog/changelog_feeds_controller.rb +6 -2
  15. data/app/controllers/shiplog/changelogs_controller.rb +11 -1
  16. data/app/controllers/shiplog/frontends_controller.rb +2 -1
  17. data/app/controllers/shiplog/newsletter/confirmations_controller.rb +27 -0
  18. data/app/controllers/shiplog/newsletter/preferences_controller.rb +50 -0
  19. data/app/controllers/shiplog/newsletter/subscriptions_controller.rb +70 -0
  20. data/app/controllers/shiplog/newsletter/unsubscriptions_controller.rb +36 -0
  21. data/app/controllers/shiplog/newsletter_controller.rb +34 -0
  22. data/app/controllers/shiplog/public_controller.rb +10 -0
  23. data/app/frontend/shiplog/admin.css +5 -0
  24. data/app/frontend/shiplog/once.js +31 -0
  25. data/app/frontend/shiplog/shiplog.css +72 -0
  26. data/app/helpers/shiplog/admin/entries_helper.rb +2 -0
  27. data/app/helpers/shiplog/head_helper.rb +1 -1
  28. data/app/helpers/shiplog/newsletter_helper.rb +28 -0
  29. data/app/helpers/shiplog/newsletter_mailer_helper.rb +37 -0
  30. data/app/helpers/shiplog/permalink_helper.rb +24 -5
  31. data/app/helpers/shiplog/unseen_helper.rb +4 -0
  32. data/app/jobs/shiplog/announce_job.rb +30 -0
  33. data/app/jobs/shiplog/draft_announcement_job.rb +9 -0
  34. data/app/jobs/shiplog/purge_newsletter_job.rb +15 -0
  35. data/app/jobs/shiplog/send_newsletter_job.rb +64 -0
  36. data/app/jobs/shiplog/translate_entry_job.rb +2 -0
  37. data/app/mailers/shiplog/newsletter_mailer.rb +51 -0
  38. data/app/models/shiplog/announcements.rb +34 -0
  39. data/app/models/shiplog/area_detector.rb +2 -1
  40. data/app/models/shiplog/change_candidates.rb +4 -0
  41. data/app/models/shiplog/drafter.rb +4 -2
  42. data/app/models/shiplog/entry.rb +76 -6
  43. data/app/models/shiplog/markdown.rb +233 -0
  44. data/app/models/shiplog/newsletter/content.rb +172 -0
  45. data/app/models/shiplog/newsletter/csv.rb +32 -0
  46. data/app/models/shiplog/newsletter/recipients.rb +92 -0
  47. data/app/models/shiplog/newsletter/tokens.rb +77 -0
  48. data/app/models/shiplog/newsletter.rb +180 -0
  49. data/app/models/shiplog/newsletter_delivery.rb +83 -0
  50. data/app/models/shiplog/newsletter_subscriber.rb +158 -0
  51. data/app/models/shiplog/period.rb +129 -0
  52. data/app/models/shiplog/public_links.rb +47 -0
  53. data/app/models/shiplog/rewriter/announcement_prompt.rb +70 -0
  54. data/app/models/shiplog/rewriter.rb +23 -3
  55. data/app/models/shiplog/translator/prompt.rb +2 -2
  56. data/app/models/shiplog/translator.rb +1 -1
  57. data/app/views/shiplog/admin/_nav.html.erb +3 -0
  58. data/app/views/shiplog/admin/entries/_announcement.html.erb +52 -0
  59. data/app/views/shiplog/admin/entries/_badges.html.erb +1 -1
  60. data/app/views/shiplog/admin/entries/_newsletter.html.erb +42 -0
  61. data/app/views/shiplog/admin/entries/edit.html.erb +8 -2
  62. data/app/views/shiplog/admin/entries/index.html.erb +9 -0
  63. data/app/views/shiplog/admin/entries/newsletters/show.html.erb +46 -0
  64. data/app/views/shiplog/admin/newsletter_subscribers/index.html.erb +83 -0
  65. data/app/views/shiplog/changelog_entries/announcement.html.erb +16 -0
  66. data/app/views/shiplog/changelogs/_month.html.erb +10 -3
  67. data/app/views/shiplog/changelogs/show.html.erb +4 -1
  68. data/app/views/shiplog/newsletter/_form.html.erb +25 -0
  69. data/app/views/shiplog/newsletter/_page.html.erb +14 -0
  70. data/app/views/shiplog/newsletter/confirmations/create.html.erb +5 -0
  71. data/app/views/shiplog/newsletter/confirmations/show.html.erb +5 -0
  72. data/app/views/shiplog/newsletter/invalid.html.erb +4 -0
  73. data/app/views/shiplog/newsletter/preferences/destroy.html.erb +4 -0
  74. data/app/views/shiplog/newsletter/preferences/show.html.erb +23 -0
  75. data/app/views/shiplog/newsletter/rate_limited.html.erb +4 -0
  76. data/app/views/shiplog/newsletter/subscriptions/show.html.erb +16 -0
  77. data/app/views/shiplog/newsletter/unsubscriptions/create.html.erb +4 -0
  78. data/app/views/shiplog/newsletter/unsubscriptions/show.html.erb +5 -0
  79. data/app/views/shiplog/newsletter_mailer/announcement.html.erb +113 -0
  80. data/app/views/shiplog/newsletter_mailer/announcement.text.erb +38 -0
  81. data/app/views/shiplog/newsletter_mailer/confirmation.html.erb +43 -0
  82. data/app/views/shiplog/newsletter_mailer/confirmation.text.erb +12 -0
  83. data/config/admin_routes.rb +12 -0
  84. data/config/locales/en.yml +147 -0
  85. data/config/locales/es.yml +147 -0
  86. data/config/routes.rb +13 -0
  87. data/db/migrate/20261028000001_shiplog_0_4_0.rb +19 -0
  88. data/db/migrate/20261028000002_shiplog_0_4_0_newsletter.rb +44 -0
  89. data/lib/generators/shiplog/install/install_generator.rb +14 -1
  90. data/lib/generators/shiplog/install/templates/initializer.rb.tt +50 -0
  91. data/lib/shiplog/classes.rb +14 -1
  92. data/lib/shiplog/configuration.rb +135 -3
  93. data/lib/shiplog/engine.rb +2 -0
  94. data/{app/helpers → lib}/shiplog/head_tags_helper.rb +15 -5
  95. data/lib/shiplog/previews/shiplog/newsletter_mailer_preview.rb +77 -0
  96. data/lib/shiplog/version.rb +1 -1
  97. data/lib/shiplog.rb +33 -0
  98. data/lib/tasks/shiplog.rake +22 -0
  99. metadata +57 -2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shiplog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trackberry
@@ -39,6 +39,7 @@ files:
39
39
  - CHANGELOG.md
40
40
  - MIT-LICENSE
41
41
  - README.md
42
+ - app/controllers/shiplog/admin/announcements_controller.rb
42
43
  - app/controllers/shiplog/admin/application_controller.rb
43
44
  - app/controllers/shiplog/admin/area_detections_controller.rb
44
45
  - app/controllers/shiplog/admin/area_translations_controller.rb
@@ -46,49 +47,68 @@ files:
46
47
  - app/controllers/shiplog/admin/areas/moves_controller.rb
47
48
  - app/controllers/shiplog/admin/areas_controller.rb
48
49
  - app/controllers/shiplog/admin/boards_controller.rb
50
+ - app/controllers/shiplog/admin/entries/announcement_notifications_controller.rb
49
51
  - app/controllers/shiplog/admin/entries/approvals_controller.rb
50
52
  - app/controllers/shiplog/admin/entries/discards_controller.rb
53
+ - app/controllers/shiplog/admin/entries/exports_controller.rb
51
54
  - app/controllers/shiplog/admin/entries/images/moves_controller.rb
52
55
  - app/controllers/shiplog/admin/entries/images_controller.rb
56
+ - app/controllers/shiplog/admin/entries/newsletter_retries_controller.rb
57
+ - app/controllers/shiplog/admin/entries/newsletter_tests_controller.rb
58
+ - app/controllers/shiplog/admin/entries/newsletters_controller.rb
53
59
  - app/controllers/shiplog/admin/entries/rewrites_controller.rb
54
60
  - app/controllers/shiplog/admin/entries/translations/retranslations_controller.rb
55
61
  - app/controllers/shiplog/admin/entries/translations_controller.rb
56
62
  - app/controllers/shiplog/admin/entries_controller.rb
57
63
  - app/controllers/shiplog/admin/inbox_filters.rb
64
+ - app/controllers/shiplog/admin/newsletter_subscribers_controller.rb
58
65
  - app/controllers/shiplog/admin/syncs_controller.rb
59
66
  - app/controllers/shiplog/application_controller.rb
60
67
  - app/controllers/shiplog/changelog_entries_controller.rb
61
68
  - app/controllers/shiplog/changelog_feeds_controller.rb
62
69
  - app/controllers/shiplog/changelogs_controller.rb
63
70
  - app/controllers/shiplog/frontends_controller.rb
71
+ - app/controllers/shiplog/newsletter/confirmations_controller.rb
72
+ - app/controllers/shiplog/newsletter/preferences_controller.rb
73
+ - app/controllers/shiplog/newsletter/subscriptions_controller.rb
74
+ - app/controllers/shiplog/newsletter/unsubscriptions_controller.rb
75
+ - app/controllers/shiplog/newsletter_controller.rb
64
76
  - app/controllers/shiplog/public_controller.rb
65
77
  - app/controllers/shiplog/roadmaps_controller.rb
66
78
  - app/controllers/shiplog/webhooks_controller.rb
67
79
  - app/frontend/shiplog/admin.css
68
80
  - app/frontend/shiplog/board.js
69
81
  - app/frontend/shiplog/inbox.js
82
+ - app/frontend/shiplog/once.js
70
83
  - app/frontend/shiplog/shiplog.css
71
84
  - app/helpers/shiplog/admin/entries_helper.rb
72
85
  - app/helpers/shiplog/application_helper.rb
73
86
  - app/helpers/shiplog/callable_helper.rb
74
87
  - app/helpers/shiplog/frontend_helper.rb
75
88
  - app/helpers/shiplog/head_helper.rb
76
- - app/helpers/shiplog/head_tags_helper.rb
77
89
  - app/helpers/shiplog/host_routes_helper.rb
90
+ - app/helpers/shiplog/newsletter_helper.rb
91
+ - app/helpers/shiplog/newsletter_mailer_helper.rb
78
92
  - app/helpers/shiplog/permalink_helper.rb
79
93
  - app/helpers/shiplog/roadmap_helper.rb
80
94
  - app/helpers/shiplog/structured_data_helper.rb
81
95
  - app/helpers/shiplog/styling_helper.rb
82
96
  - app/helpers/shiplog/switcher_helper.rb
83
97
  - app/helpers/shiplog/unseen_helper.rb
98
+ - app/jobs/shiplog/announce_job.rb
84
99
  - app/jobs/shiplog/application_job.rb
85
100
  - app/jobs/shiplog/detect_areas_job.rb
101
+ - app/jobs/shiplog/draft_announcement_job.rb
102
+ - app/jobs/shiplog/purge_newsletter_job.rb
86
103
  - app/jobs/shiplog/refresh_job.rb
87
104
  - app/jobs/shiplog/rewrite_entry_job.rb
88
105
  - app/jobs/shiplog/scan_changes_job.rb
106
+ - app/jobs/shiplog/send_newsletter_job.rb
89
107
  - app/jobs/shiplog/sync_job.rb
90
108
  - app/jobs/shiplog/translate_area_job.rb
91
109
  - app/jobs/shiplog/translate_entry_job.rb
110
+ - app/mailers/shiplog/newsletter_mailer.rb
111
+ - app/models/shiplog/announcements.rb
92
112
  - app/models/shiplog/application_record.rb
93
113
  - app/models/shiplog/area.rb
94
114
  - app/models/shiplog/area_detector.rb
@@ -107,10 +127,21 @@ files:
107
127
  - app/models/shiplog/issue.rb
108
128
  - app/models/shiplog/issue_form.rb
109
129
  - app/models/shiplog/issue_link.rb
130
+ - app/models/shiplog/markdown.rb
131
+ - app/models/shiplog/newsletter.rb
132
+ - app/models/shiplog/newsletter/content.rb
133
+ - app/models/shiplog/newsletter/csv.rb
134
+ - app/models/shiplog/newsletter/recipients.rb
135
+ - app/models/shiplog/newsletter/tokens.rb
136
+ - app/models/shiplog/newsletter_delivery.rb
137
+ - app/models/shiplog/newsletter_subscriber.rb
138
+ - app/models/shiplog/period.rb
139
+ - app/models/shiplog/public_links.rb
110
140
  - app/models/shiplog/pull_request.rb
111
141
  - app/models/shiplog/pull_request_upgrade.rb
112
142
  - app/models/shiplog/repository.rb
113
143
  - app/models/shiplog/rewriter.rb
144
+ - app/models/shiplog/rewriter/announcement_prompt.rb
114
145
  - app/models/shiplog/rewriter/prompt.rb
115
146
  - app/models/shiplog/roadmap.rb
116
147
  - app/models/shiplog/roadmap/column_resolver.rb
@@ -140,13 +171,18 @@ files:
140
171
  - app/views/shiplog/admin/areas/index.html.erb
141
172
  - app/views/shiplog/admin/boards/_card.html.erb
142
173
  - app/views/shiplog/admin/boards/show.html.erb
174
+ - app/views/shiplog/admin/entries/_announcement.html.erb
143
175
  - app/views/shiplog/admin/entries/_badges.html.erb
144
176
  - app/views/shiplog/admin/entries/_entry_row.html.erb
145
177
  - app/views/shiplog/admin/entries/_images.html.erb
178
+ - app/views/shiplog/admin/entries/_newsletter.html.erb
146
179
  - app/views/shiplog/admin/entries/_translations.html.erb
147
180
  - app/views/shiplog/admin/entries/edit.html.erb
148
181
  - app/views/shiplog/admin/entries/index.html.erb
182
+ - app/views/shiplog/admin/entries/newsletters/show.html.erb
183
+ - app/views/shiplog/admin/newsletter_subscribers/index.html.erb
149
184
  - app/views/shiplog/admin/syncs/show.html.erb
185
+ - app/views/shiplog/changelog_entries/announcement.html.erb
150
186
  - app/views/shiplog/changelog_entries/show.html.erb
151
187
  - app/views/shiplog/changelog_feeds/show.atom.builder
152
188
  - app/views/shiplog/changelogs/_areas.html.erb
@@ -159,6 +195,21 @@ files:
159
195
  - app/views/shiplog/head/_meta.html.erb
160
196
  - app/views/shiplog/head/_open_graph.html.erb
161
197
  - app/views/shiplog/head/_structured_data.html.erb
198
+ - app/views/shiplog/newsletter/_form.html.erb
199
+ - app/views/shiplog/newsletter/_page.html.erb
200
+ - app/views/shiplog/newsletter/confirmations/create.html.erb
201
+ - app/views/shiplog/newsletter/confirmations/show.html.erb
202
+ - app/views/shiplog/newsletter/invalid.html.erb
203
+ - app/views/shiplog/newsletter/preferences/destroy.html.erb
204
+ - app/views/shiplog/newsletter/preferences/show.html.erb
205
+ - app/views/shiplog/newsletter/rate_limited.html.erb
206
+ - app/views/shiplog/newsletter/subscriptions/show.html.erb
207
+ - app/views/shiplog/newsletter/unsubscriptions/create.html.erb
208
+ - app/views/shiplog/newsletter/unsubscriptions/show.html.erb
209
+ - app/views/shiplog/newsletter_mailer/announcement.html.erb
210
+ - app/views/shiplog/newsletter_mailer/announcement.text.erb
211
+ - app/views/shiplog/newsletter_mailer/confirmation.html.erb
212
+ - app/views/shiplog/newsletter_mailer/confirmation.text.erb
162
213
  - app/views/shiplog/roadmaps/_card.html.erb
163
214
  - app/views/shiplog/roadmaps/_column.html.erb
164
215
  - app/views/shiplog/roadmaps/_shipped.html.erb
@@ -170,6 +221,8 @@ files:
170
221
  - db/migrate/20261026000001_create_shiplog_tables.rb
171
222
  - db/migrate/20261027000001_create_shiplog_pull_request_upgrades.rb
172
223
  - db/migrate/20261027000002_shiplog_0_3_0.rb
224
+ - db/migrate/20261028000001_shiplog_0_4_0.rb
225
+ - db/migrate/20261028000002_shiplog_0_4_0_newsletter.rb
173
226
  - lib/generators/shiplog/install/install_generator.rb
174
227
  - lib/generators/shiplog/install/templates/initializer.rb.tt
175
228
  - lib/generators/shiplog/install/templates/shiplog-feature.yml
@@ -181,6 +234,8 @@ files:
181
234
  - lib/shiplog/github/client.rb
182
235
  - lib/shiplog/github/errors.rb
183
236
  - lib/shiplog/github/queries.rb
237
+ - lib/shiplog/head_tags_helper.rb
238
+ - lib/shiplog/previews/shiplog/newsletter_mailer_preview.rb
184
239
  - lib/shiplog/version.rb
185
240
  - lib/tasks/shiplog.rake
186
241
  homepage: https://github.com/Trackberry/shiplog