nuntius 0.1.1 → 1.0.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (169) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +199 -63
  4. data/Rakefile +62 -1
  5. data/app/controllers/nuntius/admin/campaigns_controller.rb +56 -0
  6. data/app/controllers/nuntius/admin/layouts/attachments_controller.rb +32 -0
  7. data/app/controllers/nuntius/admin/layouts_controller.rb +50 -0
  8. data/app/controllers/nuntius/admin/lists/subscribers_controller.rb +50 -0
  9. data/app/controllers/nuntius/admin/lists_controller.rb +46 -0
  10. data/app/controllers/nuntius/admin/locales_controller.rb +46 -0
  11. data/app/controllers/nuntius/admin/messages_controller.rb +24 -0
  12. data/app/controllers/nuntius/admin/templates_controller.rb +56 -0
  13. data/app/controllers/nuntius/api/events_controller.rb +16 -0
  14. data/app/controllers/nuntius/application_admin_controller.rb +11 -0
  15. data/app/controllers/nuntius/application_controller.rb +12 -0
  16. data/app/controllers/nuntius/callbacks_controller.rb +21 -0
  17. data/app/controllers/nuntius/dashboard_controller.rb +12 -0
  18. data/app/controllers/nuntius/feedback_controller.rb +17 -0
  19. data/app/controllers/nuntius/inbound_messages/twilio_inbound_smses_controller.rb +56 -0
  20. data/app/controllers/nuntius/messages_controller.rb +13 -0
  21. data/app/drops/nuntius/application_drop.rb +17 -0
  22. data/app/drops/nuntius/campaign_drop.rb +7 -0
  23. data/app/drops/nuntius/layout_drop.rb +11 -0
  24. data/app/drops/nuntius/message_drop.rb +11 -0
  25. data/app/drops/nuntius/template_drop.rb +7 -0
  26. data/app/exceptions/nuntius/base_exception.rb +4 -0
  27. data/app/exceptions/nuntius/missing_messenger_exception.rb +4 -0
  28. data/app/helpers/nuntius/application_helper.rb +78 -0
  29. data/app/jobs/nuntius/application_job.rb +9 -0
  30. data/app/jobs/nuntius/deliver_inbound_message_job.rb +10 -0
  31. data/app/jobs/nuntius/messenger_job.rb +17 -0
  32. data/app/jobs/nuntius/process_inbound_message_job.rb +10 -0
  33. data/app/jobs/nuntius/purge_message_job.rb +13 -0
  34. data/app/jobs/nuntius/retrieve_mail_job.rb +18 -0
  35. data/app/jobs/nuntius/transport_delivery_job.rb +32 -0
  36. data/app/jobs/nuntius/transport_refresh_job.rb +22 -0
  37. data/app/message_boxes/nuntius/base_message_box.rb +75 -0
  38. data/app/messengers/nuntius/base_messenger.rb +193 -0
  39. data/app/messengers/nuntius/custom_messenger.rb +6 -0
  40. data/app/models/nuntius/application_record.rb +11 -0
  41. data/app/models/nuntius/attachment.rb +13 -0
  42. data/app/models/nuntius/campaign.rb +75 -0
  43. data/app/models/nuntius/concerns/metadata_scoped.rb +31 -0
  44. data/app/models/nuntius/concerns/yamlify.rb +23 -0
  45. data/app/models/nuntius/inbound_message.rb +14 -0
  46. data/app/models/nuntius/layout.rb +13 -0
  47. data/app/models/nuntius/list.rb +10 -0
  48. data/app/models/nuntius/locale.rb +11 -0
  49. data/app/models/nuntius/message.rb +148 -0
  50. data/app/models/nuntius/subscriber.rb +12 -0
  51. data/app/models/nuntius/template.rb +102 -0
  52. data/app/presenters/application_presenter.rb +28 -0
  53. data/app/presenters/template_presenter.rb +17 -0
  54. data/app/providers/nuntius/apnotic_push_provider.rb +44 -0
  55. data/app/providers/nuntius/base_provider.rb +72 -0
  56. data/app/providers/nuntius/firebase_push_provider.rb +26 -0
  57. data/app/providers/nuntius/houston_push_provider.rb +40 -0
  58. data/app/providers/nuntius/message_bird_sms_provider.rb +39 -0
  59. data/app/providers/nuntius/slack_slack_provider.rb +36 -0
  60. data/app/providers/nuntius/smtp_mail_provider.rb +80 -0
  61. data/app/providers/nuntius/twilio_sms_provider.rb +37 -0
  62. data/app/providers/nuntius/twilio_voice_provider.rb +70 -0
  63. data/app/reportlets/nuntius/application_reportlet.rb +35 -0
  64. data/app/reportlets/nuntius/daily_messages_per_template_reportlet.rb +50 -0
  65. data/app/runners/nuntius/application_runner.rb +6 -0
  66. data/app/runners/nuntius/basic_application_runner.rb +15 -0
  67. data/app/runners/nuntius/timebased_events_runner.rb +15 -0
  68. data/app/services/nuntius/application_service.rb +7 -0
  69. data/app/services/nuntius/aws_sns_processor_service.rb +81 -0
  70. data/app/services/nuntius/deliver_inbound_message_service.rb +14 -0
  71. data/app/services/nuntius/retrieve_inbound_mail_service.rb +36 -0
  72. data/app/tables/nuntius_campaigns_table.rb +21 -0
  73. data/app/tables/nuntius_layouts_table.rb +24 -0
  74. data/app/tables/nuntius_lists_table.rb +19 -0
  75. data/app/tables/nuntius_locales_table.rb +18 -0
  76. data/app/tables/nuntius_messages_table.rb +36 -0
  77. data/app/tables/nuntius_subscribers_table.rb +19 -0
  78. data/app/tables/nuntius_templates_table.rb +30 -0
  79. data/app/transports/nuntius/base_transport.rb +36 -0
  80. data/app/transports/nuntius/mail_transport.rb +35 -0
  81. data/app/transports/nuntius/push_transport.rb +15 -0
  82. data/app/transports/nuntius/slack_transport.rb +6 -0
  83. data/app/transports/nuntius/sms_transport.rb +6 -0
  84. data/app/transports/nuntius/voice_transport.rb +6 -0
  85. data/app/validators/liquid_validator.rb +11 -0
  86. data/app/views/nuntius/admin/campaigns/edit.html.slim +49 -0
  87. data/app/views/nuntius/admin/campaigns/index.html.slim +2 -0
  88. data/app/views/nuntius/admin/layouts/attachments/_attachments.html.slim +28 -0
  89. data/app/views/nuntius/admin/layouts/attachments/_index.html.slim +2 -0
  90. data/app/views/nuntius/admin/layouts/attachments/create.json.jbuilder +5 -0
  91. data/app/views/nuntius/admin/layouts/edit.html.slim +24 -0
  92. data/app/views/nuntius/admin/layouts/index.html.slim +2 -0
  93. data/app/views/nuntius/admin/lists/edit.html.slim +14 -0
  94. data/app/views/nuntius/admin/lists/index.html.slim +2 -0
  95. data/app/views/nuntius/admin/lists/subscribers/edit.html.slim +14 -0
  96. data/app/views/nuntius/admin/locales/edit.html.slim +14 -0
  97. data/app/views/nuntius/admin/locales/index.html.slim +2 -0
  98. data/app/views/nuntius/admin/messages/index.html.slim +2 -0
  99. data/app/views/nuntius/admin/messages/show.html.slim +56 -0
  100. data/app/views/nuntius/admin/templates/edit.html.slim +81 -0
  101. data/app/views/nuntius/admin/templates/index.html.slim +2 -0
  102. data/app/views/nuntius/dashboard/show.html.slim +7 -0
  103. data/app/views/nuntius/messages/show.html.slim +7 -0
  104. data/config/locales/en.yml +22 -0
  105. data/config/locales/nl.yml +22 -0
  106. data/config/routes.rb +38 -0
  107. data/config/webpack/development.js +5 -0
  108. data/config/webpack/environment.js +4 -0
  109. data/config/webpack/production.js +5 -0
  110. data/config/webpack/test.js +5 -0
  111. data/config/webpacker.yml +119 -0
  112. data/db/migrate/20190301201541_create_nuntius_templates.rb +27 -0
  113. data/db/migrate/20190301202436_create_nuntius_messages.rb +30 -0
  114. data/db/migrate/20190322112815_create_nuntius_lists.rb +12 -0
  115. data/db/migrate/20190322114340_create_nuntius_campaigns.rb +18 -0
  116. data/db/migrate/20190322121338_create_nuntius_subscribers.rb +17 -0
  117. data/db/migrate/20190327123535_add_metadata_to_models.rb +8 -0
  118. data/db/migrate/20190327124407_create_nuntius_layouts.rb +24 -0
  119. data/db/migrate/20190327143921_add_campaign_to_message.rb +7 -0
  120. data/db/migrate/20190327155112_add_state_to_campaign.rb +7 -0
  121. data/db/migrate/20190412103335_add_enabled_to_templates.rb +7 -0
  122. data/db/migrate/20190417125153_change_message_status_default.rb +9 -0
  123. data/db/migrate/20190417144554_add_nuntiable_to_subscriber.rb +7 -0
  124. data/db/migrate/20190521135011_add_payload_to_nuntius_messages.rb +7 -0
  125. data/db/migrate/20190522122657_add_metadata_to_nuntius_message.rb +7 -0
  126. data/db/migrate/20190825080757_update_nuntius_message_sending_to_sent.rb +11 -0
  127. data/db/migrate/20200220154927_change_nuntius_templates_payload_type.rb +7 -0
  128. data/db/migrate/20200224132337_create_nuntius_locales.rb +13 -0
  129. data/db/migrate/20200318095339_create_nuntius_attachments.rb +12 -0
  130. data/db/migrate/20200407050646_add_interval_to_nuntius_template.rb +5 -0
  131. data/db/migrate/20200430131219_make_html_processing_optional.rb +6 -0
  132. data/db/migrate/20200430154032_make_html_processing_optional_revert.rb +6 -0
  133. data/db/migrate/20201121185718_create_nuntius_inbound_messages.rb +21 -0
  134. data/db/migrate/20220412114148_add_last_sent_to_message.rb +5 -0
  135. data/lib/nuntius/active_record_helpers.rb +28 -0
  136. data/lib/nuntius/active_storage_helpers.rb +8 -0
  137. data/lib/nuntius/configuration.rb +97 -0
  138. data/lib/nuntius/deprecator.rb +8 -0
  139. data/lib/nuntius/devise.rb +19 -0
  140. data/lib/nuntius/engine.rb +46 -0
  141. data/lib/nuntius/i18n_store.rb +100 -0
  142. data/lib/nuntius/liquid/tags/attach_tag.rb +44 -0
  143. data/lib/nuntius/mail_allow_list.rb +23 -0
  144. data/lib/nuntius/nuntiable.rb +24 -0
  145. data/lib/nuntius/state_machine.rb +19 -0
  146. data/lib/nuntius/transactio.rb +30 -0
  147. data/lib/nuntius/version.rb +3 -1
  148. data/lib/nuntius.rb +74 -8
  149. data/lib/preamble.rb +87 -0
  150. data/lib/tasks/nuntius_tasks.rake +27 -0
  151. metadata +532 -67
  152. data/.gitignore +0 -4
  153. data/Gemfile +0 -4
  154. data/lib/nuntius/encodings/url_safe_base64.rb +0 -26
  155. data/lib/nuntius/encodings.rb +0 -9
  156. data/lib/nuntius/envelope.rb +0 -45
  157. data/lib/nuntius/key.rb +0 -47
  158. data/lib/nuntius/messenger.rb +0 -37
  159. data/nuntius.gemspec +0 -23
  160. data/spec/keys/alice.pem +0 -27
  161. data/spec/keys/alice.pub +0 -9
  162. data/spec/keys/bob.pem +0 -27
  163. data/spec/keys/bob.pub +0 -9
  164. data/spec/nuntius/encodings/url_safe_base64_spec.rb +0 -36
  165. data/spec/nuntius/envelope_spec.rb +0 -6
  166. data/spec/nuntius/key_spec.rb +0 -12
  167. data/spec/nuntius/messenger_spec.rb +0 -26
  168. data/spec/spec_helper.rb +0 -9
  169. data/spec/support/keys.rb +0 -3
metadata CHANGED
@@ -1,105 +1,570 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nuntius
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 1.0.27
6
5
  platform: ruby
7
6
  authors:
8
- - Sebastian Gamboa
9
- autorequire:
7
+ - Tom de Grunt
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-12-19 00:00:00.000000000 Z
11
+ date: 2022-11-21 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: &70219398937400 !ruby/object:Gem::Requirement
17
- none: false
14
+ name: apnotic
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.7.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.7.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: auxilium
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aws-sdk-sns
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.56'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.56'
55
+ - !ruby/object:Gem::Dependency
56
+ name: evento
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: fcm
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: houston
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.4'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.4'
97
+ - !ruby/object:Gem::Dependency
98
+ name: httpclient
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.8.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.8.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: i18n
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 1.8.5
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 1.8.5
125
+ - !ruby/object:Gem::Dependency
126
+ name: inky-rb
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.4'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.4'
139
+ - !ruby/object:Gem::Dependency
140
+ name: labelary
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: liquidum
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: mail
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '2'
181
+ - !ruby/object:Gem::Dependency
182
+ name: messagebird-rest
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: net-imap
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: net-smtp
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: parse-cron
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: pg
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: premailer
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: rails
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '6'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '6'
279
+ - !ruby/object:Gem::Dependency
280
+ name: rubyzip
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">"
284
+ - !ruby/object:Gem::Version
285
+ version: '2'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">"
291
+ - !ruby/object:Gem::Version
292
+ version: '2'
293
+ - !ruby/object:Gem::Dependency
294
+ name: servitium
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '1'
300
+ type: :runtime
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '1'
307
+ - !ruby/object:Gem::Dependency
308
+ name: slack-ruby-client
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: state_machines-activerecord
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :runtime
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
20
333
  - !ruby/object:Gem::Version
21
334
  version: '0'
335
+ - !ruby/object:Gem::Dependency
336
+ name: twilio-ruby
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '5'
342
+ type: :runtime
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: '5'
349
+ - !ruby/object:Gem::Dependency
350
+ name: webpacker
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ version: '4'
356
+ type: :runtime
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - ">="
361
+ - !ruby/object:Gem::Version
362
+ version: '4'
363
+ - !ruby/object:Gem::Dependency
364
+ name: pry
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - "~>"
368
+ - !ruby/object:Gem::Version
369
+ version: '0.11'
22
370
  type: :development
23
371
  prerelease: false
24
- version_requirements: *70219398937400
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - "~>"
375
+ - !ruby/object:Gem::Version
376
+ version: '0.11'
25
377
  - !ruby/object:Gem::Dependency
26
- name: rspec
27
- requirement: &70219398935880 !ruby/object:Gem::Requirement
28
- none: false
378
+ name: rubocop
379
+ requirement: !ruby/object:Gem::Requirement
29
380
  requirements:
30
- - - ! '>='
381
+ - - "~>"
31
382
  - !ruby/object:Gem::Version
32
- version: 2.7.0
383
+ version: '1'
33
384
  type: :development
34
385
  prerelease: false
35
- version_requirements: *70219398935880
36
- description: Nuntius is a simple scheme to send and receive messages in a cryptographicaly
37
- secure and compatible way.
38
- email: me@sagmor.com
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - "~>"
389
+ - !ruby/object:Gem::Version
390
+ version: '1'
391
+ description: Messages are defined in editable liquid templates.
392
+ email:
393
+ - tom@degrunt.nl
39
394
  executables: []
40
395
  extensions: []
41
396
  extra_rdoc_files: []
42
397
  files:
43
- - .gitignore
44
- - Gemfile
398
+ - MIT-LICENSE
45
399
  - README.md
46
400
  - Rakefile
401
+ - app/controllers/nuntius/admin/campaigns_controller.rb
402
+ - app/controllers/nuntius/admin/layouts/attachments_controller.rb
403
+ - app/controllers/nuntius/admin/layouts_controller.rb
404
+ - app/controllers/nuntius/admin/lists/subscribers_controller.rb
405
+ - app/controllers/nuntius/admin/lists_controller.rb
406
+ - app/controllers/nuntius/admin/locales_controller.rb
407
+ - app/controllers/nuntius/admin/messages_controller.rb
408
+ - app/controllers/nuntius/admin/templates_controller.rb
409
+ - app/controllers/nuntius/api/events_controller.rb
410
+ - app/controllers/nuntius/application_admin_controller.rb
411
+ - app/controllers/nuntius/application_controller.rb
412
+ - app/controllers/nuntius/callbacks_controller.rb
413
+ - app/controllers/nuntius/dashboard_controller.rb
414
+ - app/controllers/nuntius/feedback_controller.rb
415
+ - app/controllers/nuntius/inbound_messages/twilio_inbound_smses_controller.rb
416
+ - app/controllers/nuntius/messages_controller.rb
417
+ - app/drops/nuntius/application_drop.rb
418
+ - app/drops/nuntius/campaign_drop.rb
419
+ - app/drops/nuntius/layout_drop.rb
420
+ - app/drops/nuntius/message_drop.rb
421
+ - app/drops/nuntius/template_drop.rb
422
+ - app/exceptions/nuntius/base_exception.rb
423
+ - app/exceptions/nuntius/missing_messenger_exception.rb
424
+ - app/helpers/nuntius/application_helper.rb
425
+ - app/jobs/nuntius/application_job.rb
426
+ - app/jobs/nuntius/deliver_inbound_message_job.rb
427
+ - app/jobs/nuntius/messenger_job.rb
428
+ - app/jobs/nuntius/process_inbound_message_job.rb
429
+ - app/jobs/nuntius/purge_message_job.rb
430
+ - app/jobs/nuntius/retrieve_mail_job.rb
431
+ - app/jobs/nuntius/transport_delivery_job.rb
432
+ - app/jobs/nuntius/transport_refresh_job.rb
433
+ - app/message_boxes/nuntius/base_message_box.rb
434
+ - app/messengers/nuntius/base_messenger.rb
435
+ - app/messengers/nuntius/custom_messenger.rb
436
+ - app/models/nuntius/application_record.rb
437
+ - app/models/nuntius/attachment.rb
438
+ - app/models/nuntius/campaign.rb
439
+ - app/models/nuntius/concerns/metadata_scoped.rb
440
+ - app/models/nuntius/concerns/yamlify.rb
441
+ - app/models/nuntius/inbound_message.rb
442
+ - app/models/nuntius/layout.rb
443
+ - app/models/nuntius/list.rb
444
+ - app/models/nuntius/locale.rb
445
+ - app/models/nuntius/message.rb
446
+ - app/models/nuntius/subscriber.rb
447
+ - app/models/nuntius/template.rb
448
+ - app/presenters/application_presenter.rb
449
+ - app/presenters/template_presenter.rb
450
+ - app/providers/nuntius/apnotic_push_provider.rb
451
+ - app/providers/nuntius/base_provider.rb
452
+ - app/providers/nuntius/firebase_push_provider.rb
453
+ - app/providers/nuntius/houston_push_provider.rb
454
+ - app/providers/nuntius/message_bird_sms_provider.rb
455
+ - app/providers/nuntius/slack_slack_provider.rb
456
+ - app/providers/nuntius/smtp_mail_provider.rb
457
+ - app/providers/nuntius/twilio_sms_provider.rb
458
+ - app/providers/nuntius/twilio_voice_provider.rb
459
+ - app/reportlets/nuntius/application_reportlet.rb
460
+ - app/reportlets/nuntius/daily_messages_per_template_reportlet.rb
461
+ - app/runners/nuntius/application_runner.rb
462
+ - app/runners/nuntius/basic_application_runner.rb
463
+ - app/runners/nuntius/timebased_events_runner.rb
464
+ - app/services/nuntius/application_service.rb
465
+ - app/services/nuntius/aws_sns_processor_service.rb
466
+ - app/services/nuntius/deliver_inbound_message_service.rb
467
+ - app/services/nuntius/retrieve_inbound_mail_service.rb
468
+ - app/tables/nuntius_campaigns_table.rb
469
+ - app/tables/nuntius_layouts_table.rb
470
+ - app/tables/nuntius_lists_table.rb
471
+ - app/tables/nuntius_locales_table.rb
472
+ - app/tables/nuntius_messages_table.rb
473
+ - app/tables/nuntius_subscribers_table.rb
474
+ - app/tables/nuntius_templates_table.rb
475
+ - app/transports/nuntius/base_transport.rb
476
+ - app/transports/nuntius/mail_transport.rb
477
+ - app/transports/nuntius/push_transport.rb
478
+ - app/transports/nuntius/slack_transport.rb
479
+ - app/transports/nuntius/sms_transport.rb
480
+ - app/transports/nuntius/voice_transport.rb
481
+ - app/validators/liquid_validator.rb
482
+ - app/views/nuntius/admin/campaigns/edit.html.slim
483
+ - app/views/nuntius/admin/campaigns/index.html.slim
484
+ - app/views/nuntius/admin/layouts/attachments/_attachments.html.slim
485
+ - app/views/nuntius/admin/layouts/attachments/_index.html.slim
486
+ - app/views/nuntius/admin/layouts/attachments/create.json.jbuilder
487
+ - app/views/nuntius/admin/layouts/edit.html.slim
488
+ - app/views/nuntius/admin/layouts/index.html.slim
489
+ - app/views/nuntius/admin/lists/edit.html.slim
490
+ - app/views/nuntius/admin/lists/index.html.slim
491
+ - app/views/nuntius/admin/lists/subscribers/edit.html.slim
492
+ - app/views/nuntius/admin/locales/edit.html.slim
493
+ - app/views/nuntius/admin/locales/index.html.slim
494
+ - app/views/nuntius/admin/messages/index.html.slim
495
+ - app/views/nuntius/admin/messages/show.html.slim
496
+ - app/views/nuntius/admin/templates/edit.html.slim
497
+ - app/views/nuntius/admin/templates/index.html.slim
498
+ - app/views/nuntius/dashboard/show.html.slim
499
+ - app/views/nuntius/messages/show.html.slim
500
+ - config/locales/en.yml
501
+ - config/locales/nl.yml
502
+ - config/routes.rb
503
+ - config/webpack/development.js
504
+ - config/webpack/environment.js
505
+ - config/webpack/production.js
506
+ - config/webpack/test.js
507
+ - config/webpacker.yml
508
+ - db/migrate/20190301201541_create_nuntius_templates.rb
509
+ - db/migrate/20190301202436_create_nuntius_messages.rb
510
+ - db/migrate/20190322112815_create_nuntius_lists.rb
511
+ - db/migrate/20190322114340_create_nuntius_campaigns.rb
512
+ - db/migrate/20190322121338_create_nuntius_subscribers.rb
513
+ - db/migrate/20190327123535_add_metadata_to_models.rb
514
+ - db/migrate/20190327124407_create_nuntius_layouts.rb
515
+ - db/migrate/20190327143921_add_campaign_to_message.rb
516
+ - db/migrate/20190327155112_add_state_to_campaign.rb
517
+ - db/migrate/20190412103335_add_enabled_to_templates.rb
518
+ - db/migrate/20190417125153_change_message_status_default.rb
519
+ - db/migrate/20190417144554_add_nuntiable_to_subscriber.rb
520
+ - db/migrate/20190521135011_add_payload_to_nuntius_messages.rb
521
+ - db/migrate/20190522122657_add_metadata_to_nuntius_message.rb
522
+ - db/migrate/20190825080757_update_nuntius_message_sending_to_sent.rb
523
+ - db/migrate/20200220154927_change_nuntius_templates_payload_type.rb
524
+ - db/migrate/20200224132337_create_nuntius_locales.rb
525
+ - db/migrate/20200318095339_create_nuntius_attachments.rb
526
+ - db/migrate/20200407050646_add_interval_to_nuntius_template.rb
527
+ - db/migrate/20200430131219_make_html_processing_optional.rb
528
+ - db/migrate/20200430154032_make_html_processing_optional_revert.rb
529
+ - db/migrate/20201121185718_create_nuntius_inbound_messages.rb
530
+ - db/migrate/20220412114148_add_last_sent_to_message.rb
47
531
  - lib/nuntius.rb
48
- - lib/nuntius/encodings.rb
49
- - lib/nuntius/encodings/url_safe_base64.rb
50
- - lib/nuntius/envelope.rb
51
- - lib/nuntius/key.rb
52
- - lib/nuntius/messenger.rb
532
+ - lib/nuntius/active_record_helpers.rb
533
+ - lib/nuntius/active_storage_helpers.rb
534
+ - lib/nuntius/configuration.rb
535
+ - lib/nuntius/deprecator.rb
536
+ - lib/nuntius/devise.rb
537
+ - lib/nuntius/engine.rb
538
+ - lib/nuntius/i18n_store.rb
539
+ - lib/nuntius/liquid/tags/attach_tag.rb
540
+ - lib/nuntius/mail_allow_list.rb
541
+ - lib/nuntius/nuntiable.rb
542
+ - lib/nuntius/state_machine.rb
543
+ - lib/nuntius/transactio.rb
53
544
  - lib/nuntius/version.rb
54
- - nuntius.gemspec
55
- - spec/keys/alice.pem
56
- - spec/keys/alice.pub
57
- - spec/keys/bob.pem
58
- - spec/keys/bob.pub
59
- - spec/nuntius/encodings/url_safe_base64_spec.rb
60
- - spec/nuntius/envelope_spec.rb
61
- - spec/nuntius/key_spec.rb
62
- - spec/nuntius/messenger_spec.rb
63
- - spec/spec_helper.rb
64
- - spec/support/keys.rb
65
- homepage: https://github.com/sagmor/nuntius
66
- licenses: []
67
- post_install_message:
545
+ - lib/preamble.rb
546
+ - lib/tasks/nuntius_tasks.rake
547
+ homepage: https://github.com/entdec/nuntius
548
+ licenses:
549
+ - MIT
550
+ metadata: {}
551
+ post_install_message:
68
552
  rdoc_options: []
69
553
  require_paths:
70
554
  - lib
71
555
  required_ruby_version: !ruby/object:Gem::Requirement
72
- none: false
73
556
  requirements:
74
- - - ! '>='
557
+ - - ">="
75
558
  - !ruby/object:Gem::Version
76
- version: '0'
77
- segments:
78
- - 0
79
- hash: 4207748026087643604
559
+ version: 2.6.5
80
560
  required_rubygems_version: !ruby/object:Gem::Requirement
81
- none: false
82
561
  requirements:
83
- - - ! '>='
562
+ - - ">="
84
563
  - !ruby/object:Gem::Version
85
564
  version: '0'
86
- segments:
87
- - 0
88
- hash: 4207748026087643604
89
565
  requirements: []
90
- rubyforge_project: nuntius
91
- rubygems_version: 1.8.10
92
- signing_key:
93
- specification_version: 3
94
- summary: ! 'Nuntius: A messenger, reporter, courier, bearer of news or tidings'
95
- test_files:
96
- - spec/keys/alice.pem
97
- - spec/keys/alice.pub
98
- - spec/keys/bob.pem
99
- - spec/keys/bob.pub
100
- - spec/nuntius/encodings/url_safe_base64_spec.rb
101
- - spec/nuntius/envelope_spec.rb
102
- - spec/nuntius/key_spec.rb
103
- - spec/nuntius/messenger_spec.rb
104
- - spec/spec_helper.rb
105
- - spec/support/keys.rb
566
+ rubygems_version: 3.3.7
567
+ signing_key:
568
+ specification_version: 4
569
+ summary: Messaging and notification for Ruby on Rails
570
+ test_files: []
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in nuntius.gemspec
4
- gemspec
@@ -1,26 +0,0 @@
1
- module Nuntius
2
- module Encodings
3
-
4
- # Encode/Decode messages using RFC4648 Base 64 Encoding
5
- # with URL and Filename Safe Alphabet {http://tools.ietf.org/html/rfc4648#section-5}
6
- module URLSafeBase64
7
- BASE_CHARACTERS = "+/"
8
- REPLACEMENT_CHARACTERS = "-_"
9
- PADDING_CHARACTER = "="
10
-
11
- def self.encode(bin)
12
- [bin].pack("m0").tr(BASE_CHARACTERS,REPLACEMENT_CHARACTERS).gsub(PADDING_CHARACTER,'')
13
- end
14
-
15
- def self.decode(bin)
16
- padding = (4 - (bin.length % 4)) % 4
17
- ( bin.tr(REPLACEMENT_CHARACTERS, BASE_CHARACTERS) + ( PADDING_CHARACTER * padding ) ).unpack("m0").first
18
- rescue ArgumentError
19
- raise Nuntius::Encodings::DecodingError.new 'Invalid Base64'
20
- end
21
-
22
- end
23
-
24
- end
25
- end
26
-
@@ -1,9 +0,0 @@
1
- module Nuntius
2
- module Encodings
3
- class DecodingError < Error; end
4
- end
5
- end
6
-
7
- %w{url_safe_base64}.each do |encoding|
8
- require "nuntius/encodings/#{encoding}"
9
- end