email_reply_trimmer 0.1.12 → 0.2.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 (38) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +78 -17
  4. data/README.md +4 -4
  5. data/Rakefile +3 -6
  6. data/devenv.lock +184 -0
  7. data/devenv.nix +4 -0
  8. data/devenv.yaml +8 -0
  9. data/email_reply_trimmer.gemspec +4 -2
  10. data/lib/email_reply_trimmer/delimiter_matcher.rb +3 -2
  11. data/lib/email_reply_trimmer/email_header_matcher.rb +6 -5
  12. data/lib/email_reply_trimmer/embedded_email_matcher.rb +3 -2
  13. data/lib/email_reply_trimmer/empty_line_matcher.rb +1 -0
  14. data/lib/email_reply_trimmer/quote_matcher.rb +1 -0
  15. data/lib/email_reply_trimmer/signature_matcher.rb +2 -1
  16. data/lib/email_reply_trimmer.rb +83 -53
  17. data/test/before/forwarded_apple.txt +1 -0
  18. data/test/before/forwarded_gmail.txt +1 -0
  19. data/test/elided/block_code_spacers.txt +0 -0
  20. data/test/elided/forwarded_apple.txt +15 -0
  21. data/test/elided/forwarded_gmail.txt +15 -0
  22. data/test/elided/spam_1.txt +75 -0
  23. data/test/elided/spam_2.txt +152 -0
  24. data/test/emails/block_code_spacers.txt +13 -0
  25. data/test/emails/forwarded_apple.txt +17 -0
  26. data/test/emails/forwarded_gmail.txt +17 -0
  27. data/test/emails/spam_1.txt +75 -0
  28. data/test/emails/spam_2.txt +174 -0
  29. data/test/embedded/forwarded_apple.txt +13 -0
  30. data/test/embedded/forwarded_gmail.txt +14 -0
  31. data/test/test_email_matcher.rb +1 -0
  32. data/test/test_email_reply_trimmer.rb +6 -1
  33. data/test/trimmed/block_code_spacers.txt +13 -0
  34. data/test/trimmed/forwarded_apple.txt +1 -0
  35. data/test/trimmed/forwarded_gmail.txt +1 -0
  36. data/test/trimmed/spam_1.txt +0 -0
  37. data/test/trimmed/spam_2.txt +21 -0
  38. metadata +47 -12
@@ -0,0 +1,174 @@
1
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet dictum
2
+ lectus, at efficitur neque. Class aptent taciti sociosqu ad litora torquent per
3
+ conubia nostra, per inceptos himenaeos. Aenean dictum pulvinar tortor non
4
+ ultricies. Maecenas cursus lobortis dolor quis feugiat. Integer efficitur,
5
+ mauris sit amet lobortis consectetur, urna augue feugiat mi, et tempor dui
6
+ sapien vehicula dolor. Aenean sit amet ultrices tortor. Praesent vel porttitor
7
+ risus, eu fringilla nibh. Phasellus sollicitudin elit id tortor dapibus, at
8
+ euismod odio sodales. Ut est ex, pharetra malesuada dui maximus, ullamcorper
9
+ fringilla turpis. Nullam gravida, elit blandit commodo blandit, velit sem
10
+ ornare odio, eu ultricies arcu ex sit amet libero. Vestibulum eu fringilla
11
+ ante, nec blandit nunc.
12
+
13
+ Nullam nec viverra ipsum. Nullam semper eu urna id facilisis. Nam blandit
14
+ dictum eros, sit amet auctor dui fermentum a. Quisque finibus magna nisi, ac
15
+ hendrerit purus lacinia ut. Donec maximus, enim id tincidunt vulputate, libero
16
+ ex tempor elit, vitae sagittis libero leo sed leo. Quisque non gravida ex,
17
+ efficitur interdum neque. Interdum et malesuada fames ac ante ipsum primis in
18
+ faucibus. Phasellus rhoncus nisi vitae turpis bibendum luctus. Duis placerat
19
+ aliquam lectus, pellentesque commodo dolor hendrerit quis. Suspendisse ipsum
20
+ sapien, interdum ac felis ac, mattis varius neque. Maecenas nec risus sit amet
21
+ ex aliquam vestibulum. Maecenas a turpis et turpis volutpat congue.
22
+
23
+ > On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
24
+ >
25
+ >> Hello world!
26
+ >>
27
+ >> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
28
+ >>
29
+ >>> Hello world!
30
+ >>>
31
+ >>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
32
+ >>>
33
+ >>>> Hello world!
34
+ >>>>
35
+ >>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
36
+ >>>>
37
+ >>>>> Hello world!
38
+ >>>>>
39
+ >>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
40
+ >>>>>
41
+ >>>>>> Hello world!
42
+ >>>>>>
43
+ >>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
44
+ >>>>>>
45
+ >>>>>>> Hello world!
46
+ >>>>>>>
47
+ >>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
48
+ >>>>>>>
49
+ >>>>>>>> Hello world!
50
+ >>>>>>>>
51
+ >>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
52
+ >>>>>>>>
53
+ >>>>>>>>> Hello world!
54
+ >>>>>>>>>
55
+ >>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
56
+ >>>>>>>>>
57
+ >>>>>>>>>> Hello world!
58
+ >>>>>>>>>>
59
+ >>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
60
+ >>>>>>>>>>
61
+ >>>>>>>>>>> Hello world!
62
+ >>>>>>>>>>>
63
+ >>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
64
+ >>>>>>>>>>>
65
+ >>>>>>>>>>>> Hello world!
66
+ >>>>>>>>>>>>
67
+ >>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
68
+ >>>>>>>>>>>>
69
+ >>>>>>>>>>>>> Hello world!
70
+ >>>>>>>>>>>>>
71
+ >>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
72
+ >>>>>>>>>>>>>
73
+ >>>>>>>>>>>>>> Hello world!
74
+ >>>>>>>>>>>>>>
75
+ >>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
76
+ >>>>>>>>>>>>>>
77
+ >>>>>>>>>>>>>>> Hello world!
78
+ >>>>>>>>>>>>>>>
79
+ >>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
80
+ >>>>>>>>>>>>>>>
81
+ >>>>>>>>>>>>>>>> Hello world!
82
+ >>>>>>>>>>>>>>>>
83
+ >>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
84
+ >>>>>>>>>>>>>>>>
85
+ >>>>>>>>>>>>>>>>> Hello world!
86
+ >>>>>>>>>>>>>>>>>
87
+ >>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
88
+ >>>>>>>>>>>>>>>>>
89
+ >>>>>>>>>>>>>>>>>> Hello world!
90
+ >>>>>>>>>>>>>>>>>>
91
+ >>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
92
+ >>>>>>>>>>>>>>>>>>
93
+ >>>>>>>>>>>>>>>>>>> Hello world!
94
+ >>>>>>>>>>>>>>>>>>>
95
+ >>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
96
+ >>>>>>>>>>>>>>>>>>>
97
+ >>>>>>>>>>>>>>>>>>>> Hello world!
98
+ >>>>>>>>>>>>>>>>>>>>
99
+ >>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
100
+ >>>>>>>>>>>>>>>>>>>>
101
+ >>>>>>>>>>>>>>>>>>>>> Hello world!
102
+ >>>>>>>>>>>>>>>>>>>>>
103
+ >>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
104
+ >>>>>>>>>>>>>>>>>>>>>
105
+ >>>>>>>>>>>>>>>>>>>>>> Hello world!
106
+ >>>>>>>>>>>>>>>>>>>>>>
107
+ >>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
108
+ >>>>>>>>>>>>>>>>>>>>>>
109
+ >>>>>>>>>>>>>>>>>>>>>>> Hello world!
110
+ >>>>>>>>>>>>>>>>>>>>>>>
111
+ >>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
112
+ >>>>>>>>>>>>>>>>>>>>>>>
113
+ >>>>>>>>>>>>>>>>>>>>>>>> Hello world!
114
+ >>>>>>>>>>>>>>>>>>>>>>>>
115
+ >>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
116
+ >>>>>>>>>>>>>>>>>>>>>>>>
117
+ >>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
118
+ >>>>>>>>>>>>>>>>>>>>>>>>>
119
+ >>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
120
+ >>>>>>>>>>>>>>>>>>>>>>>>>
121
+ >>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
122
+ >>>>>>>>>>>>>>>>>>>>>>>>>>
123
+ >>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
124
+ >>>>>>>>>>>>>>>>>>>>>>>>>>
125
+ >>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
126
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>
127
+ >>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
128
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>
129
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
130
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>
131
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
132
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>
133
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
134
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
135
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
136
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
137
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
138
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
139
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
140
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
141
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
142
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
143
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
144
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
145
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
146
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
147
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
148
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
149
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
150
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
151
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
152
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
153
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
154
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
155
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
156
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
157
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
158
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
159
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
160
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
161
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
162
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
163
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
164
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
165
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
166
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
167
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
168
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
169
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
170
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
171
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
172
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
173
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
174
+ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@@ -0,0 +1,13 @@
1
+ From: Foo Discourse <foo@discourse.org>
2
+ Subject: This email is going to be forwarded
3
+ Date: 01 January 2019 at 12:00:00 EET
4
+ To: bar@discourse.org
5
+
6
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
7
+ lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
8
+ amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
9
+ sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
10
+ dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
11
+ risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
12
+ turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
13
+ id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
@@ -0,0 +1,14 @@
1
+ From: Foo Discourse <foo@discourse.org>
2
+ Date: Tue, Jan 01, 2019 at 12:00 PM
3
+ Subject: This email is going to be forwarded
4
+ To: <bar@discourse.org>
5
+
6
+
7
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
8
+ lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
9
+ amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
10
+ sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
11
+ dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
12
+ risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
13
+ turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
14
+ id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "minitest/autorun"
2
3
  require "email_reply_trimmer"
3
4
  require "timeout"
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "minitest/autorun"
2
3
  require "email_reply_trimmer"
3
4
 
@@ -19,6 +20,10 @@ class TestEmailReplyTrimmer < Minitest::Test
19
20
  assert_match(/\r\n/, File.read("test/emails/normalize_line_endings.txt"))
20
21
  end
21
22
 
23
+ def test_is_reply_at_end?
24
+ Timeout::timeout(1) { assert_nil(EmailReplyTrimmer.send(:is_reply_at_end?, "bq" * 100)) }
25
+ end
26
+
22
27
  EMAILS.each do |filename|
23
28
  name = File.basename(filename, ".txt")
24
29
  define_method("test_#{name}") do
@@ -30,7 +35,7 @@ class TestEmailReplyTrimmer < Minitest::Test
30
35
  EMBEDDED_EMAILS = %w{
31
36
  email_headers_1 email_headers_2 email_headers_3 email_headers_4
32
37
  embedded_email_10 embedded_email_german_3 embedded_email_spanish_2
33
- forwarded_message
38
+ forwarded_message forwarded_gmail forwarded_apple
34
39
  }
35
40
 
36
41
  EMBEDDED_EMAILS.each do |name|
@@ -0,0 +1,13 @@
1
+ This is a long email with embedded code.
2
+
3
+ ```
4
+ # This should not be deleted
5
+ #
6
+
7
+ # Or trimmed
8
+ # It is code
9
+ ####
10
+ Code code code
11
+ ```
12
+
13
+ End of the email.
@@ -0,0 +1 @@
1
+ This email has been forwarded from Apple Mail.
@@ -0,0 +1 @@
1
+ This email has been forwarded from Gmail.
File without changes
@@ -0,0 +1,21 @@
1
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet dictum
2
+ lectus, at efficitur neque. Class aptent taciti sociosqu ad litora torquent per
3
+ conubia nostra, per inceptos himenaeos. Aenean dictum pulvinar tortor non
4
+ ultricies. Maecenas cursus lobortis dolor quis feugiat. Integer efficitur,
5
+ mauris sit amet lobortis consectetur, urna augue feugiat mi, et tempor dui
6
+ sapien vehicula dolor. Aenean sit amet ultrices tortor. Praesent vel porttitor
7
+ risus, eu fringilla nibh. Phasellus sollicitudin elit id tortor dapibus, at
8
+ euismod odio sodales. Ut est ex, pharetra malesuada dui maximus, ullamcorper
9
+ fringilla turpis. Nullam gravida, elit blandit commodo blandit, velit sem
10
+ ornare odio, eu ultricies arcu ex sit amet libero. Vestibulum eu fringilla
11
+ ante, nec blandit nunc.
12
+
13
+ Nullam nec viverra ipsum. Nullam semper eu urna id facilisis. Nam blandit
14
+ dictum eros, sit amet auctor dui fermentum a. Quisque finibus magna nisi, ac
15
+ hendrerit purus lacinia ut. Donec maximus, enim id tincidunt vulputate, libero
16
+ ex tempor elit, vitae sagittis libero leo sed leo. Quisque non gravida ex,
17
+ efficitur interdum neque. Interdum et malesuada fames ac ante ipsum primis in
18
+ faucibus. Phasellus rhoncus nisi vitae turpis bibendum luctus. Duis placerat
19
+ aliquam lectus, pellentesque commodo dolor hendrerit quis. Suspendisse ipsum
20
+ sapien, interdum ac felis ac, mattis varius neque. Maecenas nec risus sit amet
21
+ ex aliquam vestibulum. Maecenas a turpis et turpis volutpat congue.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_reply_trimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Régis Hanol
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-17 00:00:00.000000000 Z
11
+ date: 2024-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -42,20 +42,34 @@ dependencies:
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.52.1
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop-discourse
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 0.52.1
68
+ version: '0'
55
69
  description: EmailReplyTrimmer is a small library to trim replies from plain text
56
70
  email.
57
71
  email:
58
- - regis+rubygems@hanol.fr
72
+ - rubygems@hanol.fr
59
73
  executables: []
60
74
  extensions: []
61
75
  extra_rdoc_files: []
@@ -65,6 +79,9 @@ files:
65
79
  - LICENSE
66
80
  - README.md
67
81
  - Rakefile
82
+ - devenv.lock
83
+ - devenv.nix
84
+ - devenv.yaml
68
85
  - email_reply_trimmer.gemspec
69
86
  - lib/email_reply_trimmer.rb
70
87
  - lib/email_reply_trimmer/delimiter_matcher.rb
@@ -80,7 +97,10 @@ files:
80
97
  - test/before/embedded_email_10.txt
81
98
  - test/before/embedded_email_german_3.txt
82
99
  - test/before/embedded_email_spanish_2.txt
100
+ - test/before/forwarded_apple.txt
101
+ - test/before/forwarded_gmail.txt
83
102
  - test/before/forwarded_message.txt
103
+ - test/elided/block_code_spacers.txt
84
104
  - test/elided/delimiters.txt
85
105
  - test/elided/dual_embedded.txt
86
106
  - test/elided/email_headers_1.txt
@@ -131,15 +151,20 @@ files:
131
151
  - test/elided/embedded_email_spanish_2.txt
132
152
  - test/elided/embedded_email_swedish.txt
133
153
  - test/elided/embedded_email_ukrainian.txt
154
+ - test/elided/forwarded_apple.txt
155
+ - test/elided/forwarded_gmail.txt
134
156
  - test/elided/forwarded_message.txt
135
157
  - test/elided/normalize_line_endings.txt
136
158
  - test/elided/quote_and_text.txt
137
159
  - test/elided/quote_only.txt
138
160
  - test/elided/retains_spaces_and_formatting.txt
139
161
  - test/elided/signatures.txt
162
+ - test/elided/spam_1.txt
163
+ - test/elided/spam_2.txt
140
164
  - test/elided/strip.txt
141
165
  - test/elided/text_only.txt
142
166
  - test/elided/usenet.txt
167
+ - test/emails/block_code_spacers.txt
143
168
  - test/emails/delimiters.txt
144
169
  - test/emails/dual_embedded.txt
145
170
  - test/emails/email_headers_1.txt
@@ -190,12 +215,16 @@ files:
190
215
  - test/emails/embedded_email_spanish_2.txt
191
216
  - test/emails/embedded_email_swedish.txt
192
217
  - test/emails/embedded_email_ukrainian.txt
218
+ - test/emails/forwarded_apple.txt
219
+ - test/emails/forwarded_gmail.txt
193
220
  - test/emails/forwarded_message.txt
194
221
  - test/emails/normalize_line_endings.txt
195
222
  - test/emails/quote_and_text.txt
196
223
  - test/emails/quote_only.txt
197
224
  - test/emails/retains_spaces_and_formatting.txt
198
225
  - test/emails/signatures.txt
226
+ - test/emails/spam_1.txt
227
+ - test/emails/spam_2.txt
199
228
  - test/emails/strip.txt
200
229
  - test/emails/text_only.txt
201
230
  - test/emails/usenet.txt
@@ -206,10 +235,13 @@ files:
206
235
  - test/embedded/embedded_email_10.txt
207
236
  - test/embedded/embedded_email_german_3.txt
208
237
  - test/embedded/embedded_email_spanish_2.txt
238
+ - test/embedded/forwarded_apple.txt
239
+ - test/embedded/forwarded_gmail.txt
209
240
  - test/embedded/forwarded_message.txt
210
241
  - test/matchers/does_not_contain_embedded_email.txt
211
242
  - test/test_email_matcher.rb
212
243
  - test/test_email_reply_trimmer.rb
244
+ - test/trimmed/block_code_spacers.txt
213
245
  - test/trimmed/delimiters.txt
214
246
  - test/trimmed/dual_embedded.txt
215
247
  - test/trimmed/email_headers_1.txt
@@ -260,12 +292,16 @@ files:
260
292
  - test/trimmed/embedded_email_spanish_2.txt
261
293
  - test/trimmed/embedded_email_swedish.txt
262
294
  - test/trimmed/embedded_email_ukrainian.txt
295
+ - test/trimmed/forwarded_apple.txt
296
+ - test/trimmed/forwarded_gmail.txt
263
297
  - test/trimmed/forwarded_message.txt
264
298
  - test/trimmed/normalize_line_endings.txt
265
299
  - test/trimmed/quote_and_text.txt
266
300
  - test/trimmed/quote_only.txt
267
301
  - test/trimmed/retains_spaces_and_formatting.txt
268
302
  - test/trimmed/signatures.txt
303
+ - test/trimmed/spam_1.txt
304
+ - test/trimmed/spam_2.txt
269
305
  - test/trimmed/strip.txt
270
306
  - test/trimmed/text_only.txt
271
307
  - test/trimmed/usenet.txt
@@ -273,7 +309,7 @@ homepage: https://github.com/discourse/email_reply_trimmer
273
309
  licenses:
274
310
  - MIT
275
311
  metadata: {}
276
- post_install_message:
312
+ post_install_message:
277
313
  rdoc_options: []
278
314
  require_paths:
279
315
  - lib
@@ -288,9 +324,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
288
324
  - !ruby/object:Gem::Version
289
325
  version: '0'
290
326
  requirements: []
291
- rubyforge_project:
292
- rubygems_version: 2.6.14
293
- signing_key:
327
+ rubygems_version: 3.4.19
328
+ signing_key:
294
329
  specification_version: 4
295
330
  summary: Library to trim replies from plain text email.
296
331
  test_files: []