ruby-msg 1.5.2 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a44d1dd66134f46841a1842c8bcbbeffe895accf
4
- data.tar.gz: 26e85df3e4ea78233a5ec04e78003318479f66e1
2
+ SHA256:
3
+ metadata.gz: 94aa91f6a46340387923350f0eb5e758fd88ea6fe9042e2eeb3aa4e5830df910
4
+ data.tar.gz: d357f9db0d6af403d62f7707d82b70c6422ba18253335dce0f1c5b3a2ebefa9f
5
5
  SHA512:
6
- metadata.gz: 1501d2ba188801e3458db922d7992c15131a6405992d05c629baec93c80efb06b86ed93c56861ace5e8054684e3f7f9b1271528783559aa359a3008698af2aeb
7
- data.tar.gz: a68b2f5c4f2e4a1a35abf0ff3da414f8afdf82af59d743b20f37791b6f14d4a91eb59365f22122beb75960cb022e8509bc34df6bc1fc1164df81d10270d4bf45
6
+ metadata.gz: 4b1f903559402d79634d44e2fe692ec4de5c106c059d6d402833cef0d51d5e12ffe5c1dcf57d0bd98461582b3129e2f3fc9d480f08ff11cb91b6388ec672f49d
7
+ data.tar.gz: a2ecce5b15c31678e1069d6482a75f73e168a16b71a2982f9d5c24b78ca8abf20015b8021584b02fd5294b07f9e1d87da12ce58166c05f014921f875b10eccc1
data/ChangeLog CHANGED
@@ -1,3 +1,10 @@
1
+ == 1.5.3 / 2024-03-28
2
+
3
+ - Remove OrderedHash (github #12, mvz).
4
+ - Change project homepage to github and add .rdoc extension to README.
5
+ - Update wiki links in README to point to github not googlecode.
6
+ - Fix broken Attachment#save (github #14).
7
+
1
8
  == 1.5.2 / 2014-08-20
2
9
 
3
10
  - Move mime.rb file to avoid conflicts with mime_types gem (github #7,
@@ -118,11 +118,10 @@ support conversion to mime objects.
118
118
 
119
119
  For more information, see
120
120
 
121
- * TODO
121
+ * TODO[/aquasync/ruby-msg/wiki/TODO]
122
122
 
123
- * MsgDetails[http://code.google.com/p/ruby-msg/wiki/MsgDetails]
123
+ * MsgDetails[/aquasync/ruby-msg/wiki/MsgDetails]
124
124
 
125
- * PstDetails[http://code.google.com/p/ruby-msg/wiki/PstDetails]
126
-
127
- * OleDetails[http://code.google.com/p/ruby-ole/wiki/OleDetails]
125
+ * PstDetails[/aquasync/ruby-msg/wiki/PstDetails]
128
126
 
127
+ * OleDetails[/aquasync/ruby-msg/wiki/OleDetails]
data/lib/mapi/base.rb CHANGED
@@ -30,7 +30,8 @@ module Mapi
30
30
  # a.save open(File.basename(a.filename || 'attachment'), 'wb')
31
31
  def save io
32
32
  raise "can only save binary data blobs, not ole dirs" if @embedded_ole
33
- data.each_read { |chunk| io << chunk }
33
+ data.rewind
34
+ io << data.read(8192) until data.eof?
34
35
  end
35
36
 
36
37
  def inspect
@@ -214,7 +214,7 @@ module Mapi
214
214
  next if mime.headers.keys.map(&:downcase).include? key.downcase
215
215
  mime.headers[key] += vals
216
216
  end
217
- # just a stupid hack to make the content-type header last, when using OrderedHash
217
+ # just a stupid hack to make the content-type header last
218
218
  mime.headers['Content-Type'] = mime.headers.delete 'Content-Type'
219
219
 
220
220
  mime
@@ -226,7 +226,7 @@ module Mapi
226
226
  #next if mime.headers.keys.map(&:downcase).include? key.downcase
227
227
  mail[key] = vals.first
228
228
  end
229
- # just a stupid hack to make the content-type header last, when using OrderedHash
229
+ # just a stupid hack to make the content-type header last
230
230
  #mime.headers['Content-Type'] = mime.headers.delete 'Content-Type'
231
231
 
232
232
  mail
data/lib/mapi/mime.rb CHANGED
@@ -13,7 +13,6 @@
13
13
  # = TODO
14
14
  #
15
15
  # * Better streaming support, rather than an all-in-string approach.
16
- # * Add +OrderedHash+ optionally, to not lose ordering in headers.
17
16
  # * A fair bit remains to be done for this class, its fairly immature. But generally I'd like
18
17
  # to see it be more generally useful.
19
18
  # * All sorts of correctness issues, encoding particular.
@@ -23,13 +22,6 @@
23
22
  #
24
23
  module Mapi
25
24
  class Mime
26
- Hash = begin
27
- require 'orderedhash'
28
- OrderedHash
29
- rescue LoadError
30
- Hash
31
- end
32
-
33
25
  attr_reader :headers, :body, :parts, :content_type, :preamble, :epilogue
34
26
 
35
27
  # Create a Mime object using +str+ as an initial serialization, which must contain headers
data/lib/mapi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mapi
2
- VERSION = '1.5.2'
2
+ VERSION = '1.5.3'
3
3
  end
data/ruby-msg.gemspec CHANGED
@@ -11,20 +11,20 @@ Gem::Specification.new do |s|
11
11
  s.description = %q{A library for reading and converting Outlook msg and pst files (mapi message stores).}
12
12
  s.authors = ['Charles Lowe']
13
13
  s.email = %q{aquasync@gmail.com}
14
- s.homepage = %q{http://code.google.com/p/ruby-msg}
14
+ s.homepage = %q{https://github.com/aquasync/ruby-msg}
15
15
  s.rubyforge_project = %q{ruby-msg}
16
16
 
17
17
  s.executables = ['mapitool']
18
- s.files = ['README', 'COPYING', 'Rakefile', 'ChangeLog', 'ruby-msg.gemspec']
18
+ s.files = ['README.rdoc', 'COPYING', 'Rakefile', 'ChangeLog', 'ruby-msg.gemspec']
19
19
  s.files += Dir.glob('data/*.yaml')
20
20
  s.files += Dir.glob('lib/**/*.rb')
21
21
  s.files += Dir.glob('test/test_*.rb')
22
22
  s.files += Dir.glob('bin/*')
23
23
 
24
24
  s.has_rdoc = true
25
- s.extra_rdoc_files = ['README', 'ChangeLog']
25
+ s.extra_rdoc_files = ['README.rdoc', 'ChangeLog']
26
26
  s.rdoc_options += [
27
- '--main', 'README',
27
+ '--main', 'README.rdoc',
28
28
  '--title', "#{PKG_NAME} documentation",
29
29
  '--tab-width', '2'
30
30
  ]
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-msg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-20 00:00:00.000000000 Z
11
+ date: 2024-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-ole
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.2.8
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.2.8
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: vpim
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0.360'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.360'
41
41
  description: A library for reading and converting Outlook msg and pst files (mapi
@@ -45,64 +45,62 @@ executables:
45
45
  - mapitool
46
46
  extensions: []
47
47
  extra_rdoc_files:
48
- - README
48
+ - README.rdoc
49
49
  - ChangeLog
50
50
  files:
51
- - README
52
51
  - COPYING
53
- - Rakefile
54
52
  - ChangeLog
55
- - ruby-msg.gemspec
53
+ - README.rdoc
54
+ - Rakefile
56
55
  - bin/mapitool
57
- - data/types.yaml
58
56
  - data/mapitags.yaml
59
57
  - data/named_map.yaml
58
+ - data/types.yaml
60
59
  - lib/mapi.rb
61
- - lib/orderedhash.rb
62
- - lib/mapi/convert/note-tmail.rb
63
- - lib/mapi/convert/note-mime.rb
64
- - lib/mapi/convert/contact.rb
65
- - lib/mapi/version.rb
66
- - lib/mapi/convert.rb
67
60
  - lib/mapi/base.rb
61
+ - lib/mapi/convert.rb
62
+ - lib/mapi/convert/contact.rb
63
+ - lib/mapi/convert/note-mime.rb
64
+ - lib/mapi/convert/note-tmail.rb
65
+ - lib/mapi/mime.rb
66
+ - lib/mapi/msg.rb
68
67
  - lib/mapi/property_set.rb
68
+ - lib/mapi/pst.rb
69
69
  - lib/mapi/rtf.rb
70
70
  - lib/mapi/types.rb
71
- - lib/mapi/mime.rb
72
- - lib/mapi/pst.rb
73
- - lib/mapi/msg.rb
71
+ - lib/mapi/version.rb
72
+ - ruby-msg.gemspec
74
73
  - test/test_convert_contact.rb
75
- - test/test_property_set.rb
74
+ - test/test_convert_note.rb
76
75
  - test/test_mime.rb
77
- - test/test_types.rb
78
76
  - test/test_msg.rb
79
- - test/test_convert_note.rb
80
- homepage: http://code.google.com/p/ruby-msg
77
+ - test/test_property_set.rb
78
+ - test/test_types.rb
79
+ homepage: https://github.com/aquasync/ruby-msg
81
80
  licenses: []
82
81
  metadata: {}
83
82
  post_install_message:
84
83
  rdoc_options:
85
- - --main
86
- - README
87
- - --title
84
+ - "--main"
85
+ - README.rdoc
86
+ - "--title"
88
87
  - ruby-msg documentation
89
- - --tab-width
88
+ - "--tab-width"
90
89
  - '2'
91
90
  require_paths:
92
91
  - lib
93
92
  required_ruby_version: !ruby/object:Gem::Requirement
94
93
  requirements:
95
- - - '>='
94
+ - - ">="
96
95
  - !ruby/object:Gem::Version
97
96
  version: '0'
98
97
  required_rubygems_version: !ruby/object:Gem::Requirement
99
98
  requirements:
100
- - - '>='
99
+ - - ">="
101
100
  - !ruby/object:Gem::Version
102
101
  version: '0'
103
102
  requirements: []
104
- rubyforge_project: ruby-msg
105
- rubygems_version: 2.0.14
103
+ rubygems_version: 3.1.2
106
104
  signing_key:
107
105
  specification_version: 4
108
106
  summary: Ruby Msg library.
data/lib/orderedhash.rb DELETED
@@ -1,218 +0,0 @@
1
- # = OrderedHash
2
- #
3
- # == Version
4
- # 1.2006.07.13 (change of the first number means Big Change)
5
- #
6
- # == Description
7
- # Hash which preserves order of added items (like PHP array).
8
- #
9
- # == Usage
10
- #
11
- # (see examples directory under the ruby gems root directory)
12
- #
13
- # require 'rubygems'
14
- # require 'ordered_hash'
15
- #
16
- # hsh = OrderedHash.new
17
- # hsh['z'] = 1
18
- # hsh['a'] = 2
19
- # hsh['c'] = 3
20
- # p hsh.keys # ['z','a','c']
21
- #
22
- # == Source
23
- # http://simplypowerful.1984.cz/goodlibs/1.2006.07.13
24
- #
25
- # == Author
26
- # jan molic (/mig/at_sign/1984/dot/cz/)
27
- #
28
- # == Thanks to
29
- # Andrew Johnson for his suggestions and fixes of Hash[], merge, to_a, inspect and shift
30
- # Desmond Dsouza for == fixes
31
- #
32
- # == Licence
33
- # You can redistribute it and/or modify it under the same terms of Ruby's license;
34
- # either the dual license version in 2003, or any later version.
35
- #
36
-
37
- class OrderedHash < Hash
38
-
39
- attr_accessor :order
40
-
41
- class << self
42
-
43
- def [] *args
44
- hsh = OrderedHash.new
45
- if Hash === args[0]
46
- hsh.replace args[0]
47
- elsif (args.size % 2) != 0
48
- raise ArgumentError, "odd number of elements for Hash"
49
- else
50
- hsh[args.shift] = args.shift while args.size > 0
51
- end
52
- hsh
53
- end
54
-
55
- end
56
-
57
- def initialize(*a, &b)
58
- super
59
- @order = []
60
- end
61
-
62
- def store_only a,b
63
- store a,b
64
- end
65
-
66
- alias orig_store store
67
-
68
- def store a,b
69
- @order.push a unless has_key? a
70
- super a,b
71
- end
72
-
73
- alias []= store
74
-
75
- def == hsh2
76
- return hsh2==self if !hsh2.is_a?(OrderedHash)
77
- return false if @order != hsh2.order
78
- super hsh2
79
- end
80
-
81
- def clear
82
- @order = []
83
- super
84
- end
85
-
86
- def delete key
87
- @order.delete key
88
- super
89
- end
90
-
91
- def each_key
92
- @order.each { |k| yield k }
93
- self
94
- end
95
-
96
- def each_value
97
- @order.each { |k| yield self[k] }
98
- self
99
- end
100
-
101
- def each
102
- @order.each { |k| yield k,self[k] }
103
- self
104
- end
105
-
106
- alias each_pair each
107
-
108
- def delete_if
109
- @order.clone.each { |k|
110
- delete k if yield
111
- }
112
- self
113
- end
114
-
115
- def values
116
- ary = []
117
- @order.each { |k| ary.push self[k] }
118
- ary
119
- end
120
-
121
- def keys
122
- @order
123
- end
124
-
125
- def invert
126
- hsh2 = Hash.new
127
- @order.each { |k| hsh2[self[k]] = k }
128
- hsh2
129
- end
130
-
131
- def reject &block
132
- self.dup.delete_if( &block )
133
- end
134
-
135
- def reject! &block
136
- hsh2 = reject( &block )
137
- self == hsh2 ? nil : hsh2
138
- end
139
-
140
- def replace hsh2
141
- @order = hsh2.keys
142
- super hsh2
143
- end
144
-
145
- def shift
146
- key = @order.first
147
- key ? [key,delete(key)] : super
148
- end
149
-
150
- def unshift k,v
151
- unless self.include? k
152
- @order.unshift k
153
- orig_store(k,v)
154
- true
155
- else
156
- false
157
- end
158
- end
159
-
160
- def push k,v
161
- unless self.include? k
162
- @order.push k
163
- orig_store(k,v)
164
- true
165
- else
166
- false
167
- end
168
- end
169
-
170
- def pop
171
- key = @order.last
172
- key ? [key,delete(key)] : nil
173
- end
174
-
175
- def first
176
- self[@order.first]
177
- end
178
-
179
- def last
180
- self[@order.last]
181
- end
182
-
183
- def to_a
184
- ary = []
185
- each { |k,v| ary << [k,v] }
186
- ary
187
- end
188
-
189
- def to_s
190
- self.to_a.to_s
191
- end
192
-
193
- def inspect
194
- ary = []
195
- each {|k,v| ary << k.inspect + "=>" + v.inspect}
196
- '{' + ary.join(", ") + '}'
197
- end
198
-
199
- def update hsh2
200
- hsh2.each { |k,v| self[k] = v }
201
- self
202
- end
203
-
204
- alias :merge! update
205
-
206
- def merge hsh2
207
- self.dup update(hsh2)
208
- end
209
-
210
- def select
211
- ary = []
212
- each { |k,v| ary << [k,v] if yield k,v }
213
- ary
214
- end
215
-
216
- end
217
-
218
- #=end