email_reply_parser 0.5.2 → 0.5.3
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.
- data/email_reply_parser.gemspec +5 -2
- data/lib/email_reply_parser.rb +2 -2
- data/test/email_reply_parser_test.rb +9 -3
- metadata +2 -2
data/email_reply_parser.gemspec
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
$LOAD_PATH.unshift '.'
|
2
|
+
require 'lib/email_reply_parser'
|
3
|
+
|
1
4
|
## This is the rakegem gemspec template. Make sure you read and understand
|
2
5
|
## all of the comments. Some sections require modification, and others can
|
3
6
|
## be deleted if you don't need them. Once you understand the contents of
|
@@ -13,8 +16,8 @@ Gem::Specification.new do |s|
|
|
13
16
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
17
|
## the sub! line in the Rakefile
|
15
18
|
s.name = 'email_reply_parser'
|
16
|
-
s.version =
|
17
|
-
s.date = '
|
19
|
+
s.version = EmailReplyParser::VERSION
|
20
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
18
21
|
s.rubyforge_project = 'email_reply_parser'
|
19
22
|
|
20
23
|
## Make sure your summary is short. The description may be as long
|
data/lib/email_reply_parser.rb
CHANGED
@@ -30,7 +30,7 @@ require 'strscan'
|
|
30
30
|
#
|
31
31
|
# [mail]: https://github.com/mikel/mail
|
32
32
|
class EmailReplyParser
|
33
|
-
VERSION = "0.5.
|
33
|
+
VERSION = "0.5.3"
|
34
34
|
|
35
35
|
# Public: Splits an email body into a list of Fragments.
|
36
36
|
#
|
@@ -84,7 +84,7 @@ class EmailReplyParser
|
|
84
84
|
|
85
85
|
# Check for multi-line reply headers. Some clients break up
|
86
86
|
# the "On DATE, NAME <EMAIL> wrote:" line into multiple lines.
|
87
|
-
if text =~ /^(On(.+)wrote:)$/nm
|
87
|
+
if text =~ /^(On\s(.+)wrote:)$/nm
|
88
88
|
# Remove all new lines from the reply header.
|
89
89
|
text.gsub! $1, $1.gsub("\n", " ")
|
90
90
|
end
|
@@ -79,7 +79,7 @@ I am currently using the Java HTTP API.\n", reply.fragments[0].to_s
|
|
79
79
|
|
80
80
|
def test_reads_email_with_correct_signature
|
81
81
|
reply = email :correct_sig
|
82
|
-
|
82
|
+
|
83
83
|
assert_equal 2, reply.fragments.size
|
84
84
|
assert_equal [false, false], reply.fragments.map { |f| f.quoted? }
|
85
85
|
assert_equal [false, true], reply.fragments.map { |f| f.signature? }
|
@@ -141,15 +141,21 @@ I am currently using the Java HTTP API.\n", reply.fragments[0].to_s
|
|
141
141
|
|
142
142
|
def test_retains_bullets
|
143
143
|
body = IO.read EMAIL_FIXTURE_PATH.join("email_bullets.txt").to_s
|
144
|
-
assert_equal "test 2 this should list second\n\nand have spaces\n\nand retain this formatting\n\n\n - how about bullets\n - and another",
|
144
|
+
assert_equal "test 2 this should list second\n\nand have spaces\n\nand retain this formatting\n\n\n - how about bullets\n - and another",
|
145
145
|
EmailReplyParser.parse_reply(body)
|
146
|
-
|
146
|
+
end
|
147
147
|
|
148
148
|
def test_parse_reply
|
149
149
|
body = IO.read EMAIL_FIXTURE_PATH.join("email_1_2.txt").to_s
|
150
150
|
assert_equal EmailReplyParser.read(body).visible_text, EmailReplyParser.parse_reply(body)
|
151
151
|
end
|
152
152
|
|
153
|
+
def test_one_is_not_on
|
154
|
+
reply = email("email_one_is_not_on")
|
155
|
+
assert_match /One outstanding question/, reply.fragments[0].to_s
|
156
|
+
assert_match /^On Oct 1, 2012/, reply.fragments[1].to_s
|
157
|
+
end
|
158
|
+
|
153
159
|
def email(name)
|
154
160
|
body = IO.read EMAIL_FIXTURE_PATH.join("#{name}.txt").to_s
|
155
161
|
EmailReplyParser.read body
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_reply_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-12 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Long description. Maybe copied from the README.
|
15
15
|
email: technoweenie@gmail.com
|