eml2html 0.0.2 → 0.0.4
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 +5 -5
- data/CHANGELOG.md +35 -0
- data/README.md +2 -0
- data/eml2html.gemspec +2 -1
- data/lib/eml2html/converter.rb +30 -5
- data/lib/eml2html/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 88a345ca10d46808f2c617c63478fee61db47bb006a13cfe3f19e67cf3417161
|
4
|
+
data.tar.gz: d0433e3934602332c321d6d30a4b325e68c66594b793fb8112ce85212bdb3a38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14aa1f3fb30cf23f05a0a38dd28f9c1d169cbc8818360fda9797c6338661d58a18abcc75cde5ff49202f4ee36157625a318a55b849f8c5051bf95da984c390ff
|
7
|
+
data.tar.gz: e0f8c46c26cd16607f5033944dc9d4a823d420211ee5a757609412f754ece05f5ad70931d02d9e40c95e1e7dc33bffdea168241c7dc4f534a1522ad0972a82c1
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [Unreleased]
|
4
|
+
|
5
|
+
## [0.0.0] - 2019-09-05
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
- Public methods to access attachments, attachem by filename and html body (#2)
|
10
|
+
- Changelog
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
|
14
|
+
- Minimal required ruby version is 2.3 (#2)
|
15
|
+
- Required bundler is ~> 1.17
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
|
19
|
+
- `undefined method 'name' for nil` (#2)
|
20
|
+
|
21
|
+
## [0.0.2] - 2015-03-29
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- Basic specs
|
26
|
+
|
27
|
+
### Removed
|
28
|
+
|
29
|
+
- `puts` statements
|
30
|
+
|
31
|
+
## [0.0.1] - 2014-11-25
|
32
|
+
|
33
|
+
### Added
|
34
|
+
|
35
|
+
- Inital version
|
data/README.md
CHANGED
data/eml2html.gemspec
CHANGED
@@ -17,7 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.executables = ['eml2html']
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.
|
20
|
+
spec.required_ruby_version = '>= 2.3.0'
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.17"
|
21
22
|
spec.add_development_dependency "rake"
|
22
23
|
spec.add_development_dependency "rspec"
|
23
24
|
spec.add_development_dependency "guard"
|
data/lib/eml2html/converter.rb
CHANGED
@@ -13,6 +13,7 @@ module Eml2Html
|
|
13
13
|
def initialize(message)
|
14
14
|
@message = Mail.read(message)
|
15
15
|
@basename = File.basename(message, '.eml')
|
16
|
+
@cids_in_body = []
|
16
17
|
read_attachments
|
17
18
|
end
|
18
19
|
|
@@ -55,6 +56,33 @@ module Eml2Html
|
|
55
56
|
end
|
56
57
|
end
|
57
58
|
|
59
|
+
def attachments(include_in_doc=false)
|
60
|
+
rtn_attachments = []
|
61
|
+
if include_in_doc
|
62
|
+
rtn_attachments = @attachments
|
63
|
+
else
|
64
|
+
@attachments.each do |a|
|
65
|
+
unless @cids_in_body.includes(a.cid)
|
66
|
+
rtn_attachments.push(a)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
rtn_attachments
|
71
|
+
end
|
72
|
+
|
73
|
+
def attachment(file_name)
|
74
|
+
each_attachment do |name, content|
|
75
|
+
if name == file_name
|
76
|
+
return content
|
77
|
+
end
|
78
|
+
end
|
79
|
+
nil
|
80
|
+
end
|
81
|
+
|
82
|
+
def html_body
|
83
|
+
replace_images_src(@message.html_part.body.to_s)
|
84
|
+
end
|
85
|
+
|
58
86
|
private
|
59
87
|
|
60
88
|
def filename(ext = nil)
|
@@ -65,10 +93,6 @@ module Eml2Html
|
|
65
93
|
@message.text_part.body.to_s
|
66
94
|
end
|
67
95
|
|
68
|
-
def html_body
|
69
|
-
replace_images_src(@message.html_part.body.to_s)
|
70
|
-
end
|
71
|
-
|
72
96
|
def each_attachment
|
73
97
|
@attachments.each do |a|
|
74
98
|
yield a.name, a.content
|
@@ -94,7 +118,8 @@ module Eml2Html
|
|
94
118
|
def replace_images_src(html)
|
95
119
|
html.gsub(/(?<=src=['"])cid:[^'"]+(?=['"])/) do |match|
|
96
120
|
cid = match.sub(/^cid:/, '')
|
97
|
-
@
|
121
|
+
@cids_in_body.push(cid)
|
122
|
+
@attachments.find{|a| a.cid == cid }&.name
|
98
123
|
end
|
99
124
|
end
|
100
125
|
end
|
data/lib/eml2html/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eml2html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bartłomiej Bułat
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.17'
|
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: '1.
|
26
|
+
version: '1.17'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,6 +118,7 @@ extra_rdoc_files: []
|
|
118
118
|
files:
|
119
119
|
- ".gitignore"
|
120
120
|
- ".rspec"
|
121
|
+
- CHANGELOG.md
|
121
122
|
- Gemfile
|
122
123
|
- Guardfile
|
123
124
|
- LICENSE
|
@@ -146,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
146
147
|
requirements:
|
147
148
|
- - ">="
|
148
149
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
150
|
+
version: 2.3.0
|
150
151
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
152
|
requirements:
|
152
153
|
- - ">="
|
@@ -154,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
155
|
version: '0'
|
155
156
|
requirements: []
|
156
157
|
rubyforge_project:
|
157
|
-
rubygems_version: 2.
|
158
|
+
rubygems_version: 2.7.9
|
158
159
|
signing_key:
|
159
160
|
specification_version: 4
|
160
161
|
summary: eml2html executable for unpacking .eml files into html and attachments
|