mailparser 0.5.7 → 0.5.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|