message_train 0.7.6 → 1.0.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 (171) hide show
  1. checksums.yaml +5 -5
  2. data/.gitattributes +1 -0
  3. data/.github/workflows/ci.yml +86 -0
  4. data/.gitignore +64 -0
  5. data/.rubocop.yml +9 -0
  6. data/.rubocop_todo.yml +854 -2
  7. data/.ruby-version +1 -1
  8. data/.simplecov +2 -4
  9. data/CHANGELOG.md +128 -0
  10. data/CLAUDE.md +5 -0
  11. data/Gemfile +29 -31
  12. data/LICENSE.txt +1 -1
  13. data/README.md +106 -35
  14. data/Rakefile +4 -18
  15. data/app/assets/stylesheets/message_train.scss +405 -67
  16. data/app/controllers/concerns/message_train_support.rb +2 -2
  17. data/app/controllers/message_train/boxes_controller.rb +4 -2
  18. data/app/controllers/message_train/conversations_controller.rb +1 -0
  19. data/app/helpers/message_train/application_helper.rb +68 -0
  20. data/app/helpers/message_train/attachments_helper.rb +7 -4
  21. data/app/helpers/message_train/conversations_helper.rb +16 -16
  22. data/app/helpers/message_train/messages_helper.rb +23 -10
  23. data/app/javascript/controllers/message_train/bulk_actions_controller.js +36 -0
  24. data/app/javascript/controllers/message_train/lightbox_controller.js +25 -0
  25. data/app/javascript/controllers/message_train/nested_form_controller.js +36 -0
  26. data/app/javascript/controllers/message_train/recipient_autocomplete_controller.js +31 -0
  27. data/app/mailers/message_train/previews/receipt_mailer_preview.rb +7 -5
  28. data/app/models/message_train/attachment.rb +54 -42
  29. data/app/models/message_train/box.rb +2 -2
  30. data/app/models/message_train/conversation.rb +28 -2
  31. data/app/models/message_train/ignore.rb +2 -2
  32. data/app/models/message_train/message.rb +10 -4
  33. data/app/models/message_train/receipt.rb +27 -4
  34. data/app/models/message_train/unsubscribe.rb +1 -1
  35. data/app/views/application/404.html.haml +1 -3
  36. data/app/views/kaminari/_first_page.html.haml +1 -1
  37. data/app/views/kaminari/_last_page.html.haml +1 -1
  38. data/app/views/kaminari/_next_page.html.haml +1 -1
  39. data/app/views/kaminari/_page.html.haml +3 -3
  40. data/app/views/kaminari/_paginator.html.haml +12 -11
  41. data/app/views/kaminari/_prev_page.html.haml +1 -1
  42. data/app/views/message_train/application/_attachment_fields.html.haml +10 -7
  43. data/app/views/message_train/application/_attachment_link.html.haml +2 -2
  44. data/app/views/message_train/application/_widget.html.haml +2 -4
  45. data/app/views/message_train/boxes/_widget.html.haml +5 -5
  46. data/app/views/message_train/boxes/show.html.haml +28 -45
  47. data/app/views/message_train/collectives/_widget.html.haml +4 -4
  48. data/app/views/message_train/conversations/_conversation.html.haml +11 -11
  49. data/app/views/message_train/conversations/_deleted_toggle.html.haml +1 -1
  50. data/app/views/message_train/conversations/_ignored_toggle.html.haml +2 -2
  51. data/app/views/message_train/conversations/_read_toggle.html.haml +2 -2
  52. data/app/views/message_train/conversations/_toggle.html.haml +6 -4
  53. data/app/views/message_train/conversations/_trashed_toggle.html.haml +2 -2
  54. data/app/views/message_train/conversations/show.html.haml +8 -6
  55. data/app/views/message_train/messages/_deleted_toggle.html.haml +1 -1
  56. data/app/views/message_train/messages/_form.html.haml +22 -30
  57. data/app/views/message_train/messages/_message.html.haml +27 -45
  58. data/app/views/message_train/messages/_read_toggle.html.haml +2 -2
  59. data/app/views/message_train/messages/_toggle.html.haml +5 -1
  60. data/app/views/message_train/messages/_trashed_toggle.html.haml +2 -2
  61. data/app/views/message_train/unsubscribes/index.html.haml +12 -15
  62. data/badges/coverage.json +1 -0
  63. data/config/importmap.rb +2 -0
  64. data/config/locales/en.yml +6 -3
  65. data/db/migrate/20150721145319_create_message_train_conversations.rb +1 -1
  66. data/db/migrate/20150721160322_create_message_train_messages.rb +1 -1
  67. data/db/migrate/20150721161144_create_message_train_attachments.rb +5 -2
  68. data/db/migrate/20150721161940_create_message_train_receipts.rb +1 -1
  69. data/db/migrate/20150721163838_create_message_train_ignores.rb +1 -1
  70. data/db/migrate/20150901183458_add_received_through_to_message_train_receipts.rb +1 -1
  71. data/db/migrate/20151004184347_add_unique_index_to_receipts.rb +1 -1
  72. data/db/migrate/20151124000820_create_message_train_unsubscribes.rb +1 -1
  73. data/db/migrate/20260827095938_remove_paperclip_columns_from_message_train_attachments.rb +8 -0
  74. data/db/migrate/20260827171549_remove_body_from_message_train_messages.rb +5 -0
  75. data/db/migrate/20260827180000_add_marking_indexes.rb +9 -0
  76. data/db/migrate/20260827200000_add_body_back_to_message_train_messages.rb +5 -0
  77. data/docs/screenshots/inbox-desktop.png +0 -0
  78. data/docs/screenshots/inbox-mobile.png +0 -0
  79. data/lib/generators/message_train/install/install_generator.rb +1 -1
  80. data/lib/message_train/engine.rb +11 -0
  81. data/lib/message_train/instance_methods.rb +13 -7
  82. data/lib/message_train/localization.rb +4 -3
  83. data/lib/message_train/version.rb +1 -1
  84. data/lib/message_train.rb +0 -2
  85. data/message_train.gemspec +57 -389
  86. data/spec/controllers/message_train/boxes_controller_spec.rb +13 -8
  87. data/spec/controllers/message_train/concerns_spec.rb +2 -2
  88. data/spec/controllers/message_train/conversations_controller_spec.rb +36 -7
  89. data/spec/controllers/message_train/messages_controller_spec.rb +4 -4
  90. data/spec/dummy/app/assets/stylesheets/application.scss +141 -12
  91. data/spec/dummy/app/controllers/application_controller.rb +1 -1
  92. data/spec/dummy/app/javascript/application.js +4 -0
  93. data/spec/dummy/app/javascript/controllers/application.js +9 -0
  94. data/spec/dummy/app/javascript/controllers/index.js +4 -0
  95. data/spec/dummy/app/models/role.rb +1 -1
  96. data/spec/dummy/app/views/active_storage/blobs/_blob.html.erb +14 -0
  97. data/spec/dummy/app/views/layouts/_top_navigation.html.haml +18 -7
  98. data/spec/dummy/app/views/layouts/application.html.haml +22 -26
  99. data/spec/dummy/bin/importmap +4 -0
  100. data/spec/dummy/config/application.rb +7 -20
  101. data/spec/dummy/config/environments/development.rb +17 -21
  102. data/spec/dummy/config/environments/production.rb +11 -63
  103. data/spec/dummy/config/environments/test.rb +21 -16
  104. data/spec/dummy/config/importmap.rb +7 -0
  105. data/spec/dummy/config/initializers/assets.rb +1 -6
  106. data/spec/dummy/config/routes.rb +1 -1
  107. data/spec/dummy/config/storage.yml +7 -0
  108. data/spec/dummy/db/migrate/20150721140013_devise_create_users.rb +1 -1
  109. data/spec/dummy/db/migrate/20150721141009_rolify_create_roles.rb +1 -1
  110. data/spec/dummy/db/migrate/20150721141128_create_groups.rb +1 -1
  111. data/spec/dummy/db/migrate/20150721150307_add_display_name_column_to_users.rb +1 -1
  112. data/spec/dummy/db/migrate/20160207190402_create_message_train_conversations.message_train.rb +1 -1
  113. data/spec/dummy/db/migrate/20160207190403_create_message_train_messages.message_train.rb +1 -1
  114. data/spec/dummy/db/migrate/20160207190404_create_message_train_attachments.message_train.rb +5 -2
  115. data/spec/dummy/db/migrate/20160207190405_create_message_train_receipts.message_train.rb +1 -1
  116. data/spec/dummy/db/migrate/20160207190406_create_message_train_ignores.message_train.rb +1 -1
  117. data/spec/dummy/db/migrate/20160207190407_add_received_through_to_message_train_receipts.message_train.rb +1 -1
  118. data/spec/dummy/db/migrate/20160207190408_add_unique_index_to_receipts.message_train.rb +1 -1
  119. data/spec/dummy/db/migrate/20160207190409_create_message_train_unsubscribes.message_train.rb +1 -1
  120. data/spec/dummy/db/migrate/20260827095939_remove_paperclip_columns_from_message_train_attachments.message_train.rb +9 -0
  121. data/spec/dummy/db/migrate/20260827161141_create_active_storage_tables.active_storage.rb +57 -0
  122. data/spec/dummy/db/migrate/20260827171550_remove_body_from_message_train_messages.message_train.rb +6 -0
  123. data/spec/dummy/db/migrate/20260827225116_add_marking_indexes.message_train.rb +10 -0
  124. data/spec/dummy/db/migrate/20260828034830_add_body_back_to_message_train_messages.message_train.rb +6 -0
  125. data/spec/dummy/db/migrate/20260828040000_drop_action_text_tables.rb +5 -0
  126. data/spec/dummy/db/schema.rb +106 -72
  127. data/spec/dummy/db/seeds/conversations.seeds.rb +22 -22
  128. data/spec/dummy/db/seeds/development/conversations.seeds.rb +2 -2
  129. data/spec/dummy/db/seeds/groups.seeds.rb +4 -4
  130. data/spec/dummy/db/seeds/test/attachments.seeds.rb +4 -4
  131. data/spec/dummy/db/seeds/test/conversations.seeds.rb +2 -2
  132. data/spec/dummy/db/seeds/users.seeds.rb +8 -8
  133. data/spec/dummy/vendor/javascript/.keep +0 -0
  134. data/spec/factories/attachment.rb +5 -6
  135. data/spec/factories/group.rb +2 -2
  136. data/spec/factories/message.rb +7 -7
  137. data/spec/factories/user.rb +3 -3
  138. data/spec/features/boxes_spec.rb +38 -34
  139. data/spec/features/conversations_spec.rb +13 -6
  140. data/spec/features/messages_spec.rb +20 -20
  141. data/spec/features/unsubscribes_spec.rb +9 -9
  142. data/spec/helpers/message_train/application_helper_spec.rb +16 -18
  143. data/spec/helpers/message_train/attachment_helper_spec.rb +8 -18
  144. data/spec/helpers/message_train/boxes_helper_spec.rb +6 -6
  145. data/spec/helpers/message_train/collectives_helper_spec.rb +10 -10
  146. data/spec/helpers/message_train/conversations_helper_spec.rb +43 -85
  147. data/spec/helpers/message_train/messages_helper_spec.rb +41 -61
  148. data/spec/models/message_train/attachment_spec.rb +26 -36
  149. data/spec/models/message_train/box_spec.rb +2 -2
  150. data/spec/models/message_train/conversation_spec.rb +15 -0
  151. data/spec/models/message_train/message_spec.rb +5 -1
  152. data/spec/models/message_train/receipt_spec.rb +1 -1
  153. data/spec/models/message_train/unsubscribe_spec.rb +1 -1
  154. data/spec/rails_helper.rb +14 -13
  155. data/spec/support/controller_behaviors.rb +13 -13
  156. data/spec/support/factory_bot.rb +3 -0
  157. data/spec/support/feature_behaviors.rb +14 -14
  158. data/spec/support/loaded_site/attachments.rb +6 -2
  159. data/spec/support/utilities.rb +49 -20
  160. metadata +260 -213
  161. data/.travis.yml +0 -12
  162. data/VERSION +0 -1
  163. data/app/assets/javascripts/ckeditor/config.js +0 -49
  164. data/app/assets/javascripts/message_train.js +0 -149
  165. data/spec/dummy/app/assets/javascripts/application.js +0 -17
  166. data/spec/dummy/app/assets/stylesheets/bootstrap-everything.scss +0 -54
  167. data/spec/dummy/config/initializers/bootstrap_leather.rb +0 -7
  168. data/spec/dummy/config/initializers/paperclip.rb +0 -5
  169. data/spec/dummy/config/secrets.yml +0 -22
  170. data/spec/dummy/db/test.sqlite3 +0 -0
  171. data/spec/support/factory_girl.rb +0 -3
metadata CHANGED
@@ -1,507 +1,508 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: message_train
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Karen Lundgren
8
- autorequire:
7
+ - Loren Lundgren
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2017-10-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: haml-rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "<"
18
- - !ruby/object:Gem::Version
19
- version: '2'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: '1'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "<"
28
- - !ruby/object:Gem::Version
29
- version: '2'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: '1'
33
- - !ruby/object:Gem::Dependency
34
- name: jquery-rails
13
+ name: dartsass-rails
35
14
  requirement: !ruby/object:Gem::Requirement
36
15
  requirements:
37
16
  - - "~>"
38
17
  - !ruby/object:Gem::Version
39
- version: '4'
18
+ version: '0.5'
40
19
  type: :runtime
41
20
  prerelease: false
42
21
  version_requirements: !ruby/object:Gem::Requirement
43
22
  requirements:
44
23
  - - "~>"
45
24
  - !ruby/object:Gem::Version
46
- version: '4'
25
+ version: '0.5'
47
26
  - !ruby/object:Gem::Dependency
48
- name: paperclip
27
+ name: haml-rails
49
28
  requirement: !ruby/object:Gem::Requirement
50
29
  requirements:
51
- - - "<"
52
- - !ruby/object:Gem::Version
53
- version: '6'
54
30
  - - ">="
55
31
  - !ruby/object:Gem::Version
56
- version: '4.2'
32
+ version: '2'
57
33
  type: :runtime
58
34
  prerelease: false
59
35
  version_requirements: !ruby/object:Gem::Requirement
60
36
  requirements:
61
- - - "<"
62
- - !ruby/object:Gem::Version
63
- version: '6'
64
37
  - - ">="
65
38
  - !ruby/object:Gem::Version
66
- version: '4.2'
39
+ version: '2'
67
40
  - !ruby/object:Gem::Dependency
68
- name: rails
41
+ name: image_processing
69
42
  requirement: !ruby/object:Gem::Requirement
70
43
  requirements:
71
- - - "<"
72
- - !ruby/object:Gem::Version
73
- version: '6'
74
- - - ">="
44
+ - - "~>"
75
45
  - !ruby/object:Gem::Version
76
- version: '4'
46
+ version: '1.2'
77
47
  type: :runtime
78
48
  prerelease: false
79
49
  version_requirements: !ruby/object:Gem::Requirement
80
50
  requirements:
81
- - - "<"
82
- - !ruby/object:Gem::Version
83
- version: '6'
84
- - - ">="
51
+ - - "~>"
85
52
  - !ruby/object:Gem::Version
86
- version: '4'
53
+ version: '1.2'
87
54
  - !ruby/object:Gem::Dependency
88
- name: rails-i18n
55
+ name: importmap-rails
89
56
  requirement: !ruby/object:Gem::Requirement
90
57
  requirements:
91
- - - "<"
92
- - !ruby/object:Gem::Version
93
- version: '6'
94
- - - ">="
58
+ - - "~>"
95
59
  - !ruby/object:Gem::Version
96
- version: '4'
60
+ version: '2.0'
97
61
  type: :runtime
98
62
  prerelease: false
99
63
  version_requirements: !ruby/object:Gem::Requirement
100
64
  requirements:
101
- - - "<"
102
- - !ruby/object:Gem::Version
103
- version: '6'
104
- - - ">="
65
+ - - "~>"
105
66
  - !ruby/object:Gem::Version
106
- version: '4'
67
+ version: '2.0'
107
68
  - !ruby/object:Gem::Dependency
108
- name: uglifier
69
+ name: jbuilder
109
70
  requirement: !ruby/object:Gem::Requirement
110
71
  requirements:
111
- - - "<"
112
- - !ruby/object:Gem::Version
113
- version: '4'
114
- - - ">="
72
+ - - "~>"
115
73
  - !ruby/object:Gem::Version
116
- version: '2.7'
74
+ version: '2.0'
117
75
  type: :runtime
118
76
  prerelease: false
119
77
  version_requirements: !ruby/object:Gem::Requirement
120
78
  requirements:
121
- - - "<"
122
- - !ruby/object:Gem::Version
123
- version: '4'
124
- - - ">="
79
+ - - "~>"
125
80
  - !ruby/object:Gem::Version
126
- version: '2.7'
81
+ version: '2.0'
127
82
  - !ruby/object:Gem::Dependency
128
- name: jbuilder
83
+ name: kaminari
129
84
  requirement: !ruby/object:Gem::Requirement
130
85
  requirements:
131
86
  - - "~>"
132
87
  - !ruby/object:Gem::Version
133
- version: '2.0'
88
+ version: '1.0'
134
89
  type: :runtime
135
90
  prerelease: false
136
91
  version_requirements: !ruby/object:Gem::Requirement
137
92
  requirements:
138
93
  - - "~>"
139
94
  - !ruby/object:Gem::Version
140
- version: '2.0'
95
+ version: '1.0'
141
96
  - !ruby/object:Gem::Dependency
142
- name: bootstrap-sass
97
+ name: mini_magick
143
98
  requirement: !ruby/object:Gem::Requirement
144
99
  requirements:
145
100
  - - "~>"
146
101
  - !ruby/object:Gem::Version
147
- version: '3.3'
102
+ version: '4.12'
148
103
  type: :runtime
149
104
  prerelease: false
150
105
  version_requirements: !ruby/object:Gem::Requirement
151
106
  requirements:
152
107
  - - "~>"
153
108
  - !ruby/object:Gem::Version
154
- version: '3.3'
109
+ version: '4.12'
155
110
  - !ruby/object:Gem::Dependency
156
- name: bootstrap_form
111
+ name: propshaft
157
112
  requirement: !ruby/object:Gem::Requirement
158
113
  requirements:
159
114
  - - "~>"
160
115
  - !ruby/object:Gem::Version
161
- version: '2.3'
116
+ version: '1.1'
162
117
  type: :runtime
163
118
  prerelease: false
164
119
  version_requirements: !ruby/object:Gem::Requirement
165
120
  requirements:
166
121
  - - "~>"
167
122
  - !ruby/object:Gem::Version
168
- version: '2.3'
123
+ version: '1.1'
169
124
  - !ruby/object:Gem::Dependency
170
- name: bootstrap_leather
125
+ name: rails
171
126
  requirement: !ruby/object:Gem::Requirement
172
127
  requirements:
173
- - - "<"
174
- - !ruby/object:Gem::Version
175
- version: '1'
176
128
  - - ">="
177
129
  - !ruby/object:Gem::Version
178
- version: 0.10.11
130
+ version: '7.1'
131
+ - - "<"
132
+ - !ruby/object:Gem::Version
133
+ version: '9'
179
134
  type: :runtime
180
135
  prerelease: false
181
136
  version_requirements: !ruby/object:Gem::Requirement
182
137
  requirements:
183
- - - "<"
184
- - !ruby/object:Gem::Version
185
- version: '1'
186
138
  - - ">="
187
139
  - !ruby/object:Gem::Version
188
- version: 0.10.11
140
+ version: '7.1'
141
+ - - "<"
142
+ - !ruby/object:Gem::Version
143
+ version: '9'
189
144
  - !ruby/object:Gem::Dependency
190
- name: kaminari
145
+ name: rails-i18n
191
146
  requirement: !ruby/object:Gem::Requirement
192
147
  requirements:
193
- - - "~>"
148
+ - - ">="
194
149
  - !ruby/object:Gem::Version
195
- version: '1.0'
150
+ version: '7'
151
+ - - "<"
152
+ - !ruby/object:Gem::Version
153
+ version: '9'
196
154
  type: :runtime
197
155
  prerelease: false
198
156
  version_requirements: !ruby/object:Gem::Requirement
199
157
  requirements:
200
- - - "~>"
158
+ - - ">="
201
159
  - !ruby/object:Gem::Version
202
- version: '1.0'
160
+ version: '7'
161
+ - - "<"
162
+ - !ruby/object:Gem::Version
163
+ version: '9'
203
164
  - !ruby/object:Gem::Dependency
204
- name: bootstrap_tokenfield_rails
165
+ name: redcarpet
205
166
  requirement: !ruby/object:Gem::Requirement
206
167
  requirements:
207
168
  - - "~>"
208
169
  - !ruby/object:Gem::Version
209
- version: '0.12'
170
+ version: '3.6'
210
171
  type: :runtime
211
172
  prerelease: false
212
173
  version_requirements: !ruby/object:Gem::Requirement
213
174
  requirements:
214
175
  - - "~>"
215
176
  - !ruby/object:Gem::Version
216
- version: '0.12'
177
+ version: '3.6'
217
178
  - !ruby/object:Gem::Dependency
218
- name: ckeditor
179
+ name: stimulus-rails
219
180
  requirement: !ruby/object:Gem::Requirement
220
181
  requirements:
221
- - - "<"
222
- - !ruby/object:Gem::Version
223
- version: '5'
224
- - - ">="
182
+ - - "~>"
225
183
  - !ruby/object:Gem::Version
226
- version: '4.2'
184
+ version: '1.3'
227
185
  type: :runtime
228
186
  prerelease: false
229
187
  version_requirements: !ruby/object:Gem::Requirement
230
188
  requirements:
231
- - - "<"
232
- - !ruby/object:Gem::Version
233
- version: '5'
234
- - - ">="
189
+ - - "~>"
235
190
  - !ruby/object:Gem::Version
236
- version: '4.2'
191
+ version: '1.3'
237
192
  - !ruby/object:Gem::Dependency
238
- name: cocoon
193
+ name: turbo-rails
239
194
  requirement: !ruby/object:Gem::Requirement
240
195
  requirements:
241
196
  - - "~>"
242
197
  - !ruby/object:Gem::Version
243
- version: '1.2'
198
+ version: '2.0'
244
199
  type: :runtime
245
200
  prerelease: false
246
201
  version_requirements: !ruby/object:Gem::Requirement
247
202
  requirements:
248
203
  - - "~>"
249
204
  - !ruby/object:Gem::Version
250
- version: '1.2'
205
+ version: '2.0'
251
206
  - !ruby/object:Gem::Dependency
252
- name: jquery-ui-bootstrap-rails
207
+ name: byebug
253
208
  requirement: !ruby/object:Gem::Requirement
254
209
  requirements:
255
- - - "<"
256
- - !ruby/object:Gem::Version
257
- version: '0.1'
258
- - - ">="
210
+ - - "~>"
259
211
  - !ruby/object:Gem::Version
260
- version: 0.0.2
261
- type: :runtime
212
+ version: '11'
213
+ type: :development
262
214
  prerelease: false
263
215
  version_requirements: !ruby/object:Gem::Requirement
264
216
  requirements:
265
- - - "<"
266
- - !ruby/object:Gem::Version
267
- version: '0.1'
268
- - - ">="
217
+ - - "~>"
269
218
  - !ruby/object:Gem::Version
270
- version: 0.0.2
219
+ version: '11'
271
220
  - !ruby/object:Gem::Dependency
272
- name: sass-rails
221
+ name: capybara
273
222
  requirement: !ruby/object:Gem::Requirement
274
223
  requirements:
275
224
  - - "~>"
276
225
  - !ruby/object:Gem::Version
277
- version: '5'
278
- type: :runtime
226
+ version: '3.40'
227
+ type: :development
279
228
  prerelease: false
280
229
  version_requirements: !ruby/object:Gem::Requirement
281
230
  requirements:
282
231
  - - "~>"
283
232
  - !ruby/object:Gem::Version
284
- version: '5'
233
+ version: '3.40'
285
234
  - !ruby/object:Gem::Dependency
286
- name: twitter-typeahead-rails
235
+ name: cuprite
287
236
  requirement: !ruby/object:Gem::Requirement
288
237
  requirements:
289
- - - "<"
290
- - !ruby/object:Gem::Version
291
- version: '0.12'
292
- - - ">="
238
+ - - "~>"
293
239
  - !ruby/object:Gem::Version
294
- version: '0.11'
295
- type: :runtime
240
+ version: '0.15'
241
+ type: :development
296
242
  prerelease: false
297
243
  version_requirements: !ruby/object:Gem::Requirement
298
244
  requirements:
299
- - - "<"
300
- - !ruby/object:Gem::Version
301
- version: '0.12'
302
- - - ">="
245
+ - - "~>"
303
246
  - !ruby/object:Gem::Version
304
- version: '0.11'
247
+ version: '0.15'
305
248
  - !ruby/object:Gem::Dependency
306
- name: bundler
249
+ name: database_cleaner-active_record
307
250
  requirement: !ruby/object:Gem::Requirement
308
251
  requirements:
309
252
  - - "~>"
310
253
  - !ruby/object:Gem::Version
311
- version: '1.0'
254
+ version: '2.1'
312
255
  type: :development
313
256
  prerelease: false
314
257
  version_requirements: !ruby/object:Gem::Requirement
315
258
  requirements:
316
259
  - - "~>"
317
260
  - !ruby/object:Gem::Version
318
- version: '1.0'
261
+ version: '2.1'
319
262
  - !ruby/object:Gem::Dependency
320
- name: juwelier
263
+ name: devise
321
264
  requirement: !ruby/object:Gem::Requirement
322
265
  requirements:
323
266
  - - "~>"
324
267
  - !ruby/object:Gem::Version
325
- version: '2'
268
+ version: '4'
326
269
  type: :development
327
270
  prerelease: false
328
271
  version_requirements: !ruby/object:Gem::Requirement
329
272
  requirements:
330
273
  - - "~>"
331
274
  - !ruby/object:Gem::Version
332
- version: '2'
275
+ version: '4'
333
276
  - !ruby/object:Gem::Dependency
334
- name: rubocop
277
+ name: factory_bot_rails
335
278
  requirement: !ruby/object:Gem::Requirement
336
279
  requirements:
337
280
  - - "~>"
338
281
  - !ruby/object:Gem::Version
339
- version: 0.47.1
282
+ version: '6.4'
340
283
  type: :development
341
284
  prerelease: false
342
285
  version_requirements: !ruby/object:Gem::Requirement
343
286
  requirements:
344
287
  - - "~>"
345
288
  - !ruby/object:Gem::Version
346
- version: 0.47.1
289
+ version: '6.4'
347
290
  - !ruby/object:Gem::Dependency
348
- name: scss_lint
291
+ name: faker
349
292
  requirement: !ruby/object:Gem::Requirement
350
293
  requirements:
351
294
  - - "~>"
352
295
  - !ruby/object:Gem::Version
353
- version: '0.52'
296
+ version: '3'
354
297
  type: :development
355
298
  prerelease: false
356
299
  version_requirements: !ruby/object:Gem::Requirement
357
300
  requirements:
358
301
  - - "~>"
359
302
  - !ruby/object:Gem::Version
360
- version: '0.52'
303
+ version: '3'
361
304
  - !ruby/object:Gem::Dependency
362
- name: byebug
305
+ name: friendly_id
363
306
  requirement: !ruby/object:Gem::Requirement
364
307
  requirements:
365
308
  - - "~>"
366
309
  - !ruby/object:Gem::Version
367
- version: '9'
310
+ version: '5'
368
311
  type: :development
369
312
  prerelease: false
370
313
  version_requirements: !ruby/object:Gem::Requirement
371
314
  requirements:
372
315
  - - "~>"
373
316
  - !ruby/object:Gem::Version
374
- version: '9'
317
+ version: '5'
375
318
  - !ruby/object:Gem::Dependency
376
- name: devise
319
+ name: high_voltage
377
320
  requirement: !ruby/object:Gem::Requirement
378
321
  requirements:
379
322
  - - "~>"
380
323
  - !ruby/object:Gem::Version
381
- version: '4'
324
+ version: '3'
382
325
  type: :development
383
326
  prerelease: false
384
327
  version_requirements: !ruby/object:Gem::Requirement
385
328
  requirements:
386
329
  - - "~>"
387
330
  - !ruby/object:Gem::Version
388
- version: '4'
331
+ version: '3'
389
332
  - !ruby/object:Gem::Dependency
390
- name: factory_girl_rails
333
+ name: launchy
391
334
  requirement: !ruby/object:Gem::Requirement
392
335
  requirements:
393
336
  - - "~>"
394
337
  - !ruby/object:Gem::Version
395
- version: '4.5'
338
+ version: '2'
396
339
  type: :development
397
340
  prerelease: false
398
341
  version_requirements: !ruby/object:Gem::Requirement
399
342
  requirements:
400
343
  - - "~>"
401
344
  - !ruby/object:Gem::Version
402
- version: '4.5'
345
+ version: '2'
403
346
  - !ruby/object:Gem::Dependency
404
- name: faker
347
+ name: puma
405
348
  requirement: !ruby/object:Gem::Requirement
406
349
  requirements:
407
350
  - - "~>"
408
351
  - !ruby/object:Gem::Version
409
- version: '1.4'
352
+ version: '6.0'
410
353
  type: :development
411
354
  prerelease: false
412
355
  version_requirements: !ruby/object:Gem::Requirement
413
356
  requirements:
414
357
  - - "~>"
415
358
  - !ruby/object:Gem::Version
416
- version: '1.4'
359
+ version: '6.0'
417
360
  - !ruby/object:Gem::Dependency
418
- name: friendly_id
361
+ name: rails-controller-testing
419
362
  requirement: !ruby/object:Gem::Requirement
420
363
  requirements:
421
364
  - - "~>"
422
365
  - !ruby/object:Gem::Version
423
- version: '5'
366
+ version: '1.0'
424
367
  type: :development
425
368
  prerelease: false
426
369
  version_requirements: !ruby/object:Gem::Requirement
427
370
  requirements:
428
371
  - - "~>"
429
372
  - !ruby/object:Gem::Version
430
- version: '5'
373
+ version: '1.0'
431
374
  - !ruby/object:Gem::Dependency
432
- name: high_voltage
375
+ name: rolify
433
376
  requirement: !ruby/object:Gem::Requirement
434
377
  requirements:
435
- - - "~>"
378
+ - - ">="
436
379
  - !ruby/object:Gem::Version
437
- version: '3'
380
+ version: '4'
438
381
  type: :development
439
382
  prerelease: false
440
383
  version_requirements: !ruby/object:Gem::Requirement
441
384
  requirements:
442
- - - "~>"
385
+ - - ">="
443
386
  - !ruby/object:Gem::Version
444
- version: '3'
387
+ version: '4'
445
388
  - !ruby/object:Gem::Dependency
446
- name: rolify
389
+ name: rspec-collection_matchers
447
390
  requirement: !ruby/object:Gem::Requirement
448
391
  requirements:
449
- - - "<"
450
- - !ruby/object:Gem::Version
451
- version: '5.2'
452
392
  - - ">="
453
393
  - !ruby/object:Gem::Version
454
- version: '4'
394
+ version: '1'
455
395
  type: :development
456
396
  prerelease: false
457
397
  version_requirements: !ruby/object:Gem::Requirement
458
398
  requirements:
459
- - - "<"
460
- - !ruby/object:Gem::Version
461
- version: '5.2'
462
399
  - - ">="
463
400
  - !ruby/object:Gem::Version
464
- version: '4'
401
+ version: '1'
402
+ - !ruby/object:Gem::Dependency
403
+ name: rspec-html-matchers
404
+ requirement: !ruby/object:Gem::Requirement
405
+ requirements:
406
+ - - "~>"
407
+ - !ruby/object:Gem::Version
408
+ version: '0.10'
409
+ type: :development
410
+ prerelease: false
411
+ version_requirements: !ruby/object:Gem::Requirement
412
+ requirements:
413
+ - - "~>"
414
+ - !ruby/object:Gem::Version
415
+ version: '0.10'
465
416
  - !ruby/object:Gem::Dependency
466
417
  name: rspec-its
467
418
  requirement: !ruby/object:Gem::Requirement
468
419
  requirements:
420
+ - - ">="
421
+ - !ruby/object:Gem::Version
422
+ version: '1'
469
423
  - - "<"
470
424
  - !ruby/object:Gem::Version
471
425
  version: '2'
426
+ type: :development
427
+ prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
472
430
  - - ">="
473
431
  - !ruby/object:Gem::Version
474
432
  version: '1'
433
+ - - "<"
434
+ - !ruby/object:Gem::Version
435
+ version: '2'
436
+ - !ruby/object:Gem::Dependency
437
+ name: rspec-rails
438
+ requirement: !ruby/object:Gem::Requirement
439
+ requirements:
440
+ - - "~>"
441
+ - !ruby/object:Gem::Version
442
+ version: '7.0'
475
443
  type: :development
476
444
  prerelease: false
477
445
  version_requirements: !ruby/object:Gem::Requirement
478
446
  requirements:
479
- - - "<"
447
+ - - "~>"
480
448
  - !ruby/object:Gem::Version
481
- version: '2'
482
- - - ">="
449
+ version: '7.0'
450
+ - !ruby/object:Gem::Dependency
451
+ name: rubocop
452
+ requirement: !ruby/object:Gem::Requirement
453
+ requirements:
454
+ - - "~>"
483
455
  - !ruby/object:Gem::Version
484
- version: '1'
456
+ version: '1.6'
457
+ type: :development
458
+ prerelease: false
459
+ version_requirements: !ruby/object:Gem::Requirement
460
+ requirements:
461
+ - - "~>"
462
+ - !ruby/object:Gem::Version
463
+ version: '1.6'
485
464
  - !ruby/object:Gem::Dependency
486
- name: rspec-rails
465
+ name: rubocop-rails
487
466
  requirement: !ruby/object:Gem::Requirement
488
467
  requirements:
489
- - - "<"
468
+ - - "~>"
490
469
  - !ruby/object:Gem::Version
491
- version: '4'
492
- - - ">="
470
+ version: '2.25'
471
+ type: :development
472
+ prerelease: false
473
+ version_requirements: !ruby/object:Gem::Requirement
474
+ requirements:
475
+ - - "~>"
493
476
  - !ruby/object:Gem::Version
494
- version: '3'
477
+ version: '2.25'
478
+ - !ruby/object:Gem::Dependency
479
+ name: rubocop-rake
480
+ requirement: !ruby/object:Gem::Requirement
481
+ requirements:
482
+ - - "~>"
483
+ - !ruby/object:Gem::Version
484
+ version: '0.7'
495
485
  type: :development
496
486
  prerelease: false
497
487
  version_requirements: !ruby/object:Gem::Requirement
498
488
  requirements:
499
- - - "<"
489
+ - - "~>"
500
490
  - !ruby/object:Gem::Version
501
- version: '4'
502
- - - ">="
491
+ version: '0.7'
492
+ - !ruby/object:Gem::Dependency
493
+ name: rubocop-rspec
494
+ requirement: !ruby/object:Gem::Requirement
495
+ requirements:
496
+ - - "~>"
503
497
  - !ruby/object:Gem::Version
504
- version: '3'
498
+ version: '3.0'
499
+ type: :development
500
+ prerelease: false
501
+ version_requirements: !ruby/object:Gem::Requirement
502
+ requirements:
503
+ - - "~>"
504
+ - !ruby/object:Gem::Version
505
+ version: '3.0'
505
506
  - !ruby/object:Gem::Dependency
506
507
  name: seedbank
507
508
  requirement: !ruby/object:Gem::Requirement
@@ -516,23 +517,51 @@ dependencies:
516
517
  - - "~>"
517
518
  - !ruby/object:Gem::Version
518
519
  version: '0.3'
520
+ - !ruby/object:Gem::Dependency
521
+ name: shoulda-matchers
522
+ requirement: !ruby/object:Gem::Requirement
523
+ requirements:
524
+ - - "~>"
525
+ - !ruby/object:Gem::Version
526
+ version: '6.0'
527
+ type: :development
528
+ prerelease: false
529
+ version_requirements: !ruby/object:Gem::Requirement
530
+ requirements:
531
+ - - "~>"
532
+ - !ruby/object:Gem::Version
533
+ version: '6.0'
534
+ - !ruby/object:Gem::Dependency
535
+ name: simplecov
536
+ requirement: !ruby/object:Gem::Requirement
537
+ requirements:
538
+ - - "~>"
539
+ - !ruby/object:Gem::Version
540
+ version: '0.22'
541
+ type: :development
542
+ prerelease: false
543
+ version_requirements: !ruby/object:Gem::Requirement
544
+ requirements:
545
+ - - "~>"
546
+ - !ruby/object:Gem::Version
547
+ version: '0.22'
519
548
  - !ruby/object:Gem::Dependency
520
549
  name: sqlite3
521
550
  requirement: !ruby/object:Gem::Requirement
522
551
  requirements:
523
552
  - - "~>"
524
553
  - !ruby/object:Gem::Version
525
- version: '1.3'
554
+ version: '2.1'
526
555
  type: :development
527
556
  prerelease: false
528
557
  version_requirements: !ruby/object:Gem::Requirement
529
558
  requirements:
530
559
  - - "~>"
531
560
  - !ruby/object:Gem::Version
532
- version: '1.3'
533
- description: Rails 4 & 5 Engine providing private and public messaging for any object,
534
- such as Users or Groups
535
- email: karen.e.lundgren@gmail.com
561
+ version: '2.1'
562
+ description: Rails Engine providing private and public messaging for any object, such
563
+ as Users or Groups
564
+ email: loren.lundgren@gmail.com
536
565
  executables: []
537
566
  extensions: []
538
567
  extra_rdoc_files:
@@ -540,6 +569,9 @@ extra_rdoc_files:
540
569
  - README.md
541
570
  files:
542
571
  - ".document"
572
+ - ".gitattributes"
573
+ - ".github/workflows/ci.yml"
574
+ - ".gitignore"
543
575
  - ".rspec"
544
576
  - ".rubocop.yml"
545
577
  - ".rubocop_todo.yml"
@@ -547,14 +579,12 @@ files:
547
579
  - ".ruby-version"
548
580
  - ".scss-lint.yml"
549
581
  - ".simplecov"
550
- - ".travis.yml"
582
+ - CHANGELOG.md
583
+ - CLAUDE.md
551
584
  - Gemfile
552
585
  - LICENSE.txt
553
586
  - README.md
554
587
  - Rakefile
555
- - VERSION
556
- - app/assets/javascripts/ckeditor/config.js
557
- - app/assets/javascripts/message_train.js
558
588
  - app/assets/stylesheets/message_train.scss
559
589
  - app/controllers/concerns/message_train_authorization.rb
560
590
  - app/controllers/concerns/message_train_support.rb
@@ -570,6 +600,10 @@ files:
570
600
  - app/helpers/message_train/collectives_helper.rb
571
601
  - app/helpers/message_train/conversations_helper.rb
572
602
  - app/helpers/message_train/messages_helper.rb
603
+ - app/javascript/controllers/message_train/bulk_actions_controller.js
604
+ - app/javascript/controllers/message_train/lightbox_controller.js
605
+ - app/javascript/controllers/message_train/nested_form_controller.js
606
+ - app/javascript/controllers/message_train/recipient_autocomplete_controller.js
573
607
  - app/mailers/message_train/application_mailer.rb
574
608
  - app/mailers/message_train/previews/receipt_mailer_preview.rb
575
609
  - app/mailers/message_train/receipt_mailer.rb
@@ -625,7 +659,9 @@ files:
625
659
  - app/views/message_train/receipt_mailer/notification_email.html.haml
626
660
  - app/views/message_train/receipt_mailer/notification_email.text.haml
627
661
  - app/views/message_train/unsubscribes/index.html.haml
662
+ - badges/coverage.json
628
663
  - config/environment.rb
664
+ - config/importmap.rb
629
665
  - config/initializers/date_time.rb
630
666
  - config/initializers/kaminari_config.rb
631
667
  - config/locales/en.yml
@@ -638,6 +674,12 @@ files:
638
674
  - db/migrate/20150901183458_add_received_through_to_message_train_receipts.rb
639
675
  - db/migrate/20151004184347_add_unique_index_to_receipts.rb
640
676
  - db/migrate/20151124000820_create_message_train_unsubscribes.rb
677
+ - db/migrate/20260827095938_remove_paperclip_columns_from_message_train_attachments.rb
678
+ - db/migrate/20260827171549_remove_body_from_message_train_messages.rb
679
+ - db/migrate/20260827180000_add_marking_indexes.rb
680
+ - db/migrate/20260827200000_add_body_back_to_message_train_messages.rb
681
+ - docs/screenshots/inbox-desktop.png
682
+ - docs/screenshots/inbox-mobile.png
641
683
  - lib/generators/message_train/install/install_generator.rb
642
684
  - lib/generators/message_train/install/templates/initializer.rb
643
685
  - lib/generators/message_train/utils.rb
@@ -692,19 +734,22 @@ files:
692
734
  - spec/dummy/app/assets/files/message_train/attachments/tips.doc
693
735
  - spec/dummy/app/assets/files/message_train/attachments/wd-spectools-word-sample-04.doc
694
736
  - spec/dummy/app/assets/images/logo.svg
695
- - spec/dummy/app/assets/javascripts/application.js
696
737
  - spec/dummy/app/assets/stylesheets/application.scss
697
- - spec/dummy/app/assets/stylesheets/bootstrap-everything.scss
698
738
  - spec/dummy/app/controllers/application_controller.rb
699
739
  - spec/dummy/app/helpers/application_helper.rb
740
+ - spec/dummy/app/javascript/application.js
741
+ - spec/dummy/app/javascript/controllers/application.js
742
+ - spec/dummy/app/javascript/controllers/index.js
700
743
  - spec/dummy/app/mailers/.keep
701
744
  - spec/dummy/app/models/group.rb
702
745
  - spec/dummy/app/models/role.rb
703
746
  - spec/dummy/app/models/user.rb
747
+ - spec/dummy/app/views/active_storage/blobs/_blob.html.erb
704
748
  - spec/dummy/app/views/layouts/_top_navigation.html.haml
705
749
  - spec/dummy/app/views/layouts/application.html.haml
706
750
  - spec/dummy/app/views/pages/index.html.haml
707
751
  - spec/dummy/bin/bundle
752
+ - spec/dummy/bin/importmap
708
753
  - spec/dummy/bin/rails
709
754
  - spec/dummy/bin/rake
710
755
  - spec/dummy/bin/setup
@@ -716,9 +761,9 @@ files:
716
761
  - spec/dummy/config/environments/development.rb
717
762
  - spec/dummy/config/environments/production.rb
718
763
  - spec/dummy/config/environments/test.rb
764
+ - spec/dummy/config/importmap.rb
719
765
  - spec/dummy/config/initializers/assets.rb
720
766
  - spec/dummy/config/initializers/backtrace_silencers.rb
721
- - spec/dummy/config/initializers/bootstrap_leather.rb
722
767
  - spec/dummy/config/initializers/cookies_serializer.rb
723
768
  - spec/dummy/config/initializers/devise.rb
724
769
  - spec/dummy/config/initializers/filter_parameter_logging.rb
@@ -726,15 +771,14 @@ files:
726
771
  - spec/dummy/config/initializers/inflections.rb
727
772
  - spec/dummy/config/initializers/message_train.rb
728
773
  - spec/dummy/config/initializers/mime_types.rb
729
- - spec/dummy/config/initializers/paperclip.rb
730
774
  - spec/dummy/config/initializers/rolify.rb
731
775
  - spec/dummy/config/initializers/session_store.rb
732
776
  - spec/dummy/config/initializers/wrap_parameters.rb
733
777
  - spec/dummy/config/locales/devise.en.yml
734
778
  - spec/dummy/config/locales/en.yml
735
779
  - spec/dummy/config/routes.rb
736
- - spec/dummy/config/secrets.yml
737
780
  - spec/dummy/config/settings.yml
781
+ - spec/dummy/config/storage.yml
738
782
  - spec/dummy/db/migrate/20150721140013_devise_create_users.rb
739
783
  - spec/dummy/db/migrate/20150721141009_rolify_create_roles.rb
740
784
  - spec/dummy/db/migrate/20150721141128_create_groups.rb
@@ -747,6 +791,12 @@ files:
747
791
  - spec/dummy/db/migrate/20160207190407_add_received_through_to_message_train_receipts.message_train.rb
748
792
  - spec/dummy/db/migrate/20160207190408_add_unique_index_to_receipts.message_train.rb
749
793
  - spec/dummy/db/migrate/20160207190409_create_message_train_unsubscribes.message_train.rb
794
+ - spec/dummy/db/migrate/20260827095939_remove_paperclip_columns_from_message_train_attachments.message_train.rb
795
+ - spec/dummy/db/migrate/20260827161141_create_active_storage_tables.active_storage.rb
796
+ - spec/dummy/db/migrate/20260827171550_remove_body_from_message_train_messages.message_train.rb
797
+ - spec/dummy/db/migrate/20260827225116_add_marking_indexes.message_train.rb
798
+ - spec/dummy/db/migrate/20260828034830_add_body_back_to_message_train_messages.message_train.rb
799
+ - spec/dummy/db/migrate/20260828040000_drop_action_text_tables.rb
750
800
  - spec/dummy/db/schema.rb
751
801
  - spec/dummy/db/seeds.rb
752
802
  - spec/dummy/db/seeds/conversations.seeds.rb
@@ -756,12 +806,12 @@ files:
756
806
  - spec/dummy/db/seeds/test/conversations.seeds.rb
757
807
  - spec/dummy/db/seeds/unsubscribes.seeds.rb
758
808
  - spec/dummy/db/seeds/users.seeds.rb
759
- - spec/dummy/db/test.sqlite3
760
809
  - spec/dummy/lib/assets/.keep
761
810
  - spec/dummy/public/404.html
762
811
  - spec/dummy/public/422.html
763
812
  - spec/dummy/public/500.html
764
813
  - spec/dummy/public/favicon.ico
814
+ - spec/dummy/vendor/javascript/.keep
765
815
  - spec/factories/attachment.rb
766
816
  - spec/factories/group.rb
767
817
  - spec/factories/message.rb
@@ -791,7 +841,7 @@ files:
791
841
  - spec/spec_helper.rb
792
842
  - spec/support/controller_behaviors.rb
793
843
  - spec/support/controller_macros.rb
794
- - spec/support/factory_girl.rb
844
+ - spec/support/factory_bot.rb
795
845
  - spec/support/feature_behaviors.rb
796
846
  - spec/support/loaded_site/attachments.rb
797
847
  - spec/support/loaded_site/conversations.rb
@@ -806,7 +856,6 @@ homepage: http://www.gemvein.com/museum/cases/message_train
806
856
  licenses:
807
857
  - MIT
808
858
  metadata: {}
809
- post_install_message:
810
859
  rdoc_options: []
811
860
  require_paths:
812
861
  - lib
@@ -814,16 +863,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
814
863
  requirements:
815
864
  - - ">="
816
865
  - !ruby/object:Gem::Version
817
- version: '0'
866
+ version: '3.2'
818
867
  required_rubygems_version: !ruby/object:Gem::Requirement
819
868
  requirements:
820
869
  - - ">="
821
870
  - !ruby/object:Gem::Version
822
871
  version: '0'
823
872
  requirements: []
824
- rubyforge_project:
825
- rubygems_version: 2.4.5.1
826
- signing_key:
873
+ rubygems_version: 4.0.16
827
874
  specification_version: 4
828
- summary: Rails 4 & 5 Engine providing messaging for any object
875
+ summary: Rails Engine providing messaging for any object
829
876
  test_files: []