rims-rfc822 0.2.2 → 0.2.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.
- checksums.yaml +4 -4
- data/lib/rims/rfc822.rb +16 -22
- data/lib/rims/rfc822/version.rb +1 -1
- data/rims-rfc822.gemspec +3 -2
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc4454910f11d01d157636ce54fd8cbceeb6bec9dd609f5a8d969ed80cdda046
|
4
|
+
data.tar.gz: 773c722bd0f8c13c2475fadb68af4de073eb150f043db04bfca9edf2cccd76b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0ceeaf306c54fac3d97386a95f82c1778abbb21b8078d014d4182e4b1c8717e1af46d9df694007ab38de948cc9c2b9a0721ef390dee07b8a6f4d6576f80aef0
|
7
|
+
data.tar.gz: 4500f5d11ca07f4905f4f158e450886dbb1ba5cf5d36b89b14d5b33a0477625d8e6fbf180c6f8eb19e9a5cb38b22b7c0ad11e7c9358b4db102a593f75e4d0ae3
|
data/lib/rims/rfc822.rb
CHANGED
@@ -8,7 +8,7 @@ module RIMS
|
|
8
8
|
module RFC822
|
9
9
|
module Parse
|
10
10
|
def split_message(msg_txt)
|
11
|
-
header_txt, body_txt = msg_txt.lstrip.split(/\
|
11
|
+
header_txt, body_txt = msg_txt.lstrip.split(/\R\R/, 2)
|
12
12
|
if ($&) then
|
13
13
|
header_txt << $&
|
14
14
|
else
|
@@ -22,13 +22,12 @@ module RIMS
|
|
22
22
|
|
23
23
|
def parse_header(header_txt)
|
24
24
|
field_pair_list = header_txt.scan(%r{
|
25
|
-
^
|
26
25
|
((?#name) \S+? )
|
27
26
|
\s* : \s*
|
28
27
|
(
|
29
28
|
(?#value)
|
30
|
-
.*? (?: \
|
31
|
-
(?:
|
29
|
+
.*? (?: \R|\z)
|
30
|
+
(?: \s .*? (?: \R|\z) )*
|
32
31
|
)
|
33
32
|
}x)
|
34
33
|
|
@@ -432,11 +431,8 @@ module RIMS
|
|
432
431
|
encoded_word_list = $&.split(/\s+/, -1)
|
433
432
|
|
434
433
|
unless (foreword.empty?) then
|
435
|
-
if (
|
436
|
-
|
437
|
-
# because of a premise that the strings other than
|
438
|
-
# encoded words are ASCII only.
|
439
|
-
foreword.encode!(dst.encoding, charset_convert_options)
|
434
|
+
if (Encoding.compatible? dst, foreword) then
|
435
|
+
foreword.encode!(dst.encoding, **charset_convert_options)
|
440
436
|
end
|
441
437
|
dst << foreword
|
442
438
|
end
|
@@ -451,28 +447,26 @@ module RIMS
|
|
451
447
|
if (decode_charset_encoding) then
|
452
448
|
if (decoded_text.encoding != decode_charset_encoding) then
|
453
449
|
# `decoded_text' is frozen
|
454
|
-
decoded_text = decoded_text.encode(decode_charset_encoding, charset_convert_options)
|
450
|
+
decoded_text = decoded_text.encode(decode_charset_encoding, **charset_convert_options)
|
455
451
|
end
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
452
|
+
end
|
453
|
+
|
454
|
+
unless (Encoding.compatible? dst, decoded_text) then
|
455
|
+
if (dst.ascii_only?) then
|
456
|
+
dst.encode!(decoded_text.encoding, **charset_convert_options)
|
457
|
+
else
|
462
458
|
# `decoded_text' is frozen
|
463
|
-
decoded_text = decoded_text.encode(dst.encoding, charset_convert_options)
|
459
|
+
decoded_text = decoded_text.encode(dst.encoding, **charset_convert_options)
|
464
460
|
end
|
465
461
|
end
|
462
|
+
|
466
463
|
dst << decoded_text
|
467
464
|
end
|
468
465
|
end
|
469
466
|
|
470
467
|
unless (src.empty?) then
|
471
|
-
|
472
|
-
|
473
|
-
# because of a premise that the strings other than encoded
|
474
|
-
# words are ASCII only.
|
475
|
-
src = src.encode(dst.encoding, charset_convert_options) # `src' may be frozen
|
468
|
+
unless (Encoding.compatible? dst, src) then
|
469
|
+
src = src.encode(dst.encoding, **charset_convert_options) # `src' may be frozen
|
476
470
|
end
|
477
471
|
dst << src
|
478
472
|
end
|
data/lib/rims/rfc822/version.rb
CHANGED
data/rims-rfc822.gemspec
CHANGED
@@ -28,10 +28,11 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
|
29
29
|
spec.require_paths = ['lib']
|
30
30
|
|
31
|
-
spec.add_development_dependency 'bundler'
|
32
|
-
spec.add_development_dependency 'rake'
|
31
|
+
spec.add_development_dependency 'bundler'
|
32
|
+
spec.add_development_dependency 'rake'
|
33
33
|
spec.add_development_dependency 'rdoc'
|
34
34
|
spec.add_development_dependency 'test-unit'
|
35
|
+
spec.add_development_dependency 'irb'
|
35
36
|
end
|
36
37
|
|
37
38
|
# Local Variables:
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rims-rfc822
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TOKI Yoshinori
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rdoc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: irb
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
description: |2
|
70
84
|
Fast parser for a RFC822 formatted message.
|
71
85
|
This gem is a component of RIMS (Ruby IMap Server), but can be
|