mailparser 0.5.7 → 0.5.8
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.
- checksums.yaml +4 -4
- data/lib/mailparser/rfc2047.rb +1 -2
- data/lib/mailparser/rfc2231.rb +2 -2
- data/test/test_loose.rb +1 -1
- data/test/test_rfc2231.rb +8 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d761a9419015163c12809cf410a36489d1353ec
|
4
|
+
data.tar.gz: 15970ff8192c5cf4a068567d9f26cb89483e27c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64d34c5f824d9d88ed2c0afc858315e938f33ad131e4054d26486b61add4533a0a3f3bebc6332d467f578acd8c02d63ccec3ac37a438b381e8ebbd55404a70f4
|
7
|
+
data.tar.gz: 0223da30aadf2ce4e5256b909f987c6a718d94f6b397ad6306100f0bb8f096f02c21241e0ab11587b991242479c559ec636ed62e6d5e94f70efca4a28c05d1f9
|
data/lib/mailparser/rfc2047.rb
CHANGED
@@ -21,7 +21,6 @@ module MailParser::RFC2047
|
|
21
21
|
end
|
22
22
|
charset_converter ||= MailParser::ConvCharset.method(:conv_charset)
|
23
23
|
words = []
|
24
|
-
mime_word = false
|
25
24
|
ss = StringScanner.new(str.gsub(/\r?\n/, ''))
|
26
25
|
until ss.eos?
|
27
26
|
if s = ss.scan(/\=\?[^\(\)\<\>\@\,\;\:\"\/\[\]\?\.\=]+\?[QB]\?[^\? ]+\?\=/i)
|
@@ -43,7 +42,7 @@ module MailParser::RFC2047
|
|
43
42
|
begin
|
44
43
|
ret = words.join
|
45
44
|
rescue
|
46
|
-
ret = words.map{|
|
45
|
+
ret = words.map{|w| w.to_s.force_encoding('binary')}.join
|
47
46
|
end
|
48
47
|
charset ? charset_converter.call(charset, charset, ret) : ret
|
49
48
|
end
|
data/lib/mailparser/rfc2231.rb
CHANGED
@@ -9,7 +9,7 @@ module MailParser::RFC2231
|
|
9
9
|
def parse_param(params, opt={:strict=>true})
|
10
10
|
opt = {:strict=>opt} unless opt.is_a? Hash
|
11
11
|
newparams = {}
|
12
|
-
h = Hash.new{|
|
12
|
+
h = Hash.new{|_h,k| _h[k] = []}
|
13
13
|
char_lang = {}
|
14
14
|
params.each do |key, value|
|
15
15
|
case key
|
@@ -19,7 +19,7 @@ module MailParser::RFC2231
|
|
19
19
|
char_lang[name] = [char, lang]
|
20
20
|
if v.nil? then
|
21
21
|
raise MailParser::ParseError, "#{key}=#{value}" if opt[:strict]
|
22
|
-
v = lang || char
|
22
|
+
v = lang || char || ''
|
23
23
|
end
|
24
24
|
v = v.gsub(/%([0-9A-F][0-9A-F])/i){$1.hex.chr}
|
25
25
|
if ord then
|
data/test/test_loose.rb
CHANGED
data/test/test_rfc2231.rb
CHANGED
@@ -131,6 +131,14 @@ class TC_RFC2231 < Test::Unit::TestCase
|
|
131
131
|
assert_equal "abc", h["hoge"]
|
132
132
|
end
|
133
133
|
|
134
|
+
def test_parse_param_with_empty_value
|
135
|
+
params = {
|
136
|
+
"hoge*" => "",
|
137
|
+
}
|
138
|
+
h = MailParser::RFC2231.parse_param(params, strict: false)
|
139
|
+
assert_equal "", h["hoge"]
|
140
|
+
end
|
141
|
+
|
134
142
|
def test_rfc_example()
|
135
143
|
params = {
|
136
144
|
"URL*0" => "ftp://",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TOMITA Masahiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mmapscanner
|
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
76
|
rubyforge_project:
|
77
|
-
rubygems_version: 2.
|
77
|
+
rubygems_version: 2.5.0
|
78
78
|
signing_key:
|
79
79
|
specification_version: 4
|
80
80
|
summary: Mail Parser
|