rubyzip 0.9.9 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +284 -41
  3. data/Rakefile +11 -6
  4. data/TODO +0 -1
  5. data/lib/zip/central_directory.rb +208 -0
  6. data/lib/zip/compressor.rb +1 -2
  7. data/lib/zip/constants.rb +59 -7
  8. data/lib/zip/crypto/encryption.rb +11 -0
  9. data/lib/zip/crypto/null_encryption.rb +43 -0
  10. data/lib/zip/crypto/traditional_encryption.rb +99 -0
  11. data/lib/zip/decompressor.rb +4 -4
  12. data/lib/zip/deflater.rb +17 -13
  13. data/lib/zip/dos_time.rb +13 -14
  14. data/lib/zip/entry.rb +700 -0
  15. data/lib/zip/entry_set.rb +86 -0
  16. data/lib/zip/errors.rb +18 -0
  17. data/lib/zip/extra_field/generic.rb +43 -0
  18. data/lib/zip/extra_field/ntfs.rb +90 -0
  19. data/lib/zip/extra_field/old_unix.rb +44 -0
  20. data/lib/zip/extra_field/universal_time.rb +47 -0
  21. data/lib/zip/extra_field/unix.rb +37 -0
  22. data/lib/zip/extra_field/zip64.rb +68 -0
  23. data/lib/zip/extra_field/zip64_placeholder.rb +15 -0
  24. data/lib/zip/extra_field.rb +101 -0
  25. data/lib/zip/file.rb +443 -0
  26. data/lib/zip/{zipfilesystem.rb → filesystem.rb} +162 -157
  27. data/lib/zip/inflater.rb +29 -28
  28. data/lib/zip/input_stream.rb +173 -0
  29. data/lib/zip/ioextras/abstract_input_stream.rb +111 -0
  30. data/lib/zip/ioextras/abstract_output_stream.rb +43 -0
  31. data/lib/zip/ioextras.rb +21 -149
  32. data/lib/zip/null_compressor.rb +2 -2
  33. data/lib/zip/null_decompressor.rb +8 -6
  34. data/lib/zip/null_input_stream.rb +3 -2
  35. data/lib/zip/output_stream.rb +189 -0
  36. data/lib/zip/pass_thru_compressor.rb +6 -6
  37. data/lib/zip/pass_thru_decompressor.rb +19 -19
  38. data/lib/zip/{zip_streamable_directory.rb → streamable_directory.rb} +3 -3
  39. data/lib/zip/streamable_stream.rb +56 -0
  40. data/lib/zip/version.rb +3 -0
  41. data/lib/zip.rb +71 -0
  42. data/samples/example.rb +44 -32
  43. data/samples/example_filesystem.rb +16 -18
  44. data/samples/example_recursive.rb +33 -28
  45. data/samples/{gtkRubyzip.rb → gtk_ruby_zip.rb} +26 -28
  46. data/samples/qtzip.rb +22 -31
  47. data/samples/write_simple.rb +12 -13
  48. data/samples/zipfind.rb +31 -39
  49. data/test/basic_zip_file_test.rb +60 -0
  50. data/test/case_sensitivity_test.rb +69 -0
  51. data/test/central_directory_entry_test.rb +69 -0
  52. data/test/central_directory_test.rb +100 -0
  53. data/test/crypto/null_encryption_test.rb +57 -0
  54. data/test/crypto/traditional_encryption_test.rb +80 -0
  55. data/test/data/WarnInvalidDate.zip +0 -0
  56. data/test/data/file1.txt +46 -0
  57. data/test/data/file1.txt.deflatedData +0 -0
  58. data/test/data/file2.txt +1504 -0
  59. data/test/data/globTest/foo/bar/baz/foo.txt +0 -0
  60. data/test/data/globTest/foo.txt +0 -0
  61. data/test/data/globTest/food.txt +0 -0
  62. data/test/data/globTest.zip +0 -0
  63. data/test/data/gpbit3stored.zip +0 -0
  64. data/test/data/mimetype +1 -0
  65. data/test/data/notzippedruby.rb +7 -0
  66. data/test/data/ntfs.zip +0 -0
  67. data/test/data/oddExtraField.zip +0 -0
  68. data/test/data/path_traversal/Makefile +10 -0
  69. data/test/data/path_traversal/jwilk/README.md +5 -0
  70. data/test/data/path_traversal/jwilk/absolute1.zip +0 -0
  71. data/test/data/path_traversal/jwilk/absolute2.zip +0 -0
  72. data/test/data/path_traversal/jwilk/dirsymlink.zip +0 -0
  73. data/test/data/path_traversal/jwilk/dirsymlink2a.zip +0 -0
  74. data/test/data/path_traversal/jwilk/dirsymlink2b.zip +0 -0
  75. data/test/data/path_traversal/jwilk/relative0.zip +0 -0
  76. data/test/data/path_traversal/jwilk/relative2.zip +0 -0
  77. data/test/data/path_traversal/jwilk/symlink.zip +0 -0
  78. data/test/data/path_traversal/relative1.zip +0 -0
  79. data/test/data/path_traversal/tilde.zip +0 -0
  80. data/test/data/path_traversal/tuzovakaoff/README.md +3 -0
  81. data/test/data/path_traversal/tuzovakaoff/absolutepath.zip +0 -0
  82. data/test/data/path_traversal/tuzovakaoff/symlink.zip +0 -0
  83. data/test/data/rubycode.zip +0 -0
  84. data/test/data/rubycode2.zip +0 -0
  85. data/test/data/test.xls +0 -0
  86. data/test/data/testDirectory.bin +0 -0
  87. data/test/data/zip64-sample.zip +0 -0
  88. data/test/data/zipWithDirs.zip +0 -0
  89. data/test/data/zipWithEncryption.zip +0 -0
  90. data/test/deflater_test.rb +65 -0
  91. data/test/encryption_test.rb +42 -0
  92. data/test/entry_set_test.rb +163 -0
  93. data/test/entry_test.rb +154 -0
  94. data/test/errors_test.rb +35 -0
  95. data/test/extra_field_test.rb +76 -0
  96. data/test/file_extract_directory_test.rb +54 -0
  97. data/test/file_extract_test.rb +145 -0
  98. data/test/file_permissions_test.rb +65 -0
  99. data/test/file_split_test.rb +57 -0
  100. data/test/file_test.rb +666 -0
  101. data/test/filesystem/dir_iterator_test.rb +58 -0
  102. data/test/filesystem/directory_test.rb +139 -0
  103. data/test/filesystem/file_mutating_test.rb +87 -0
  104. data/test/filesystem/file_nonmutating_test.rb +508 -0
  105. data/test/filesystem/file_stat_test.rb +64 -0
  106. data/test/gentestfiles.rb +126 -0
  107. data/test/inflater_test.rb +14 -0
  108. data/test/input_stream_test.rb +182 -0
  109. data/test/ioextras/abstract_input_stream_test.rb +102 -0
  110. data/test/ioextras/abstract_output_stream_test.rb +106 -0
  111. data/test/ioextras/fake_io_test.rb +18 -0
  112. data/test/local_entry_test.rb +154 -0
  113. data/test/output_stream_test.rb +128 -0
  114. data/test/pass_thru_compressor_test.rb +30 -0
  115. data/test/pass_thru_decompressor_test.rb +14 -0
  116. data/test/path_traversal_test.rb +141 -0
  117. data/test/samples/example_recursive_test.rb +37 -0
  118. data/test/settings_test.rb +95 -0
  119. data/test/test_helper.rb +234 -0
  120. data/test/unicode_file_names_and_comments_test.rb +62 -0
  121. data/test/zip64_full_test.rb +51 -0
  122. data/test/zip64_support_test.rb +14 -0
  123. metadata +274 -41
  124. data/NEWS +0 -172
  125. data/lib/zip/settings.rb +0 -10
  126. data/lib/zip/tempfile_bugfixed.rb +0 -195
  127. data/lib/zip/zip.rb +0 -56
  128. data/lib/zip/zip_central_directory.rb +0 -135
  129. data/lib/zip/zip_entry.rb +0 -638
  130. data/lib/zip/zip_entry_set.rb +0 -77
  131. data/lib/zip/zip_extra_field.rb +0 -213
  132. data/lib/zip/zip_file.rb +0 -340
  133. data/lib/zip/zip_input_stream.rb +0 -144
  134. data/lib/zip/zip_output_stream.rb +0 -173
  135. data/lib/zip/zip_streamable_stream.rb +0 -47
metadata CHANGED
@@ -1,80 +1,313 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyzip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.9
5
- prerelease:
4
+ version: 1.3.0
6
5
  platform: ruby
7
6
  authors:
8
- - Alan Harper
7
+ - Alexander Simonov
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-06-17 00:00:00.000000000 Z
13
- dependencies: []
11
+ date: 2019-09-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.10'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.7'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.7'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.49.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.49.1
14
83
  description:
15
- email: alan@aussiegeek.net
84
+ email:
85
+ - alex@simonov.me
16
86
  executables: []
17
87
  extensions: []
18
88
  extra_rdoc_files: []
19
89
  files:
20
- - samples/example.rb
21
- - samples/example_filesystem.rb
22
- - samples/example_recursive.rb
23
- - samples/gtkRubyzip.rb
24
- - samples/qtzip.rb
25
- - samples/write_simple.rb
26
- - samples/zipfind.rb
90
+ - README.md
91
+ - Rakefile
92
+ - TODO
93
+ - lib/zip.rb
94
+ - lib/zip/central_directory.rb
27
95
  - lib/zip/compressor.rb
28
96
  - lib/zip/constants.rb
97
+ - lib/zip/crypto/encryption.rb
98
+ - lib/zip/crypto/null_encryption.rb
99
+ - lib/zip/crypto/traditional_encryption.rb
29
100
  - lib/zip/decompressor.rb
30
101
  - lib/zip/deflater.rb
31
102
  - lib/zip/dos_time.rb
103
+ - lib/zip/entry.rb
104
+ - lib/zip/entry_set.rb
105
+ - lib/zip/errors.rb
106
+ - lib/zip/extra_field.rb
107
+ - lib/zip/extra_field/generic.rb
108
+ - lib/zip/extra_field/ntfs.rb
109
+ - lib/zip/extra_field/old_unix.rb
110
+ - lib/zip/extra_field/universal_time.rb
111
+ - lib/zip/extra_field/unix.rb
112
+ - lib/zip/extra_field/zip64.rb
113
+ - lib/zip/extra_field/zip64_placeholder.rb
114
+ - lib/zip/file.rb
115
+ - lib/zip/filesystem.rb
32
116
  - lib/zip/inflater.rb
117
+ - lib/zip/input_stream.rb
33
118
  - lib/zip/ioextras.rb
119
+ - lib/zip/ioextras/abstract_input_stream.rb
120
+ - lib/zip/ioextras/abstract_output_stream.rb
34
121
  - lib/zip/null_compressor.rb
35
122
  - lib/zip/null_decompressor.rb
36
123
  - lib/zip/null_input_stream.rb
124
+ - lib/zip/output_stream.rb
37
125
  - lib/zip/pass_thru_compressor.rb
38
126
  - lib/zip/pass_thru_decompressor.rb
39
- - lib/zip/settings.rb
40
- - lib/zip/tempfile_bugfixed.rb
41
- - lib/zip/zip.rb
42
- - lib/zip/zip_central_directory.rb
43
- - lib/zip/zip_entry.rb
44
- - lib/zip/zip_entry_set.rb
45
- - lib/zip/zip_extra_field.rb
46
- - lib/zip/zip_file.rb
47
- - lib/zip/zip_input_stream.rb
48
- - lib/zip/zip_output_stream.rb
49
- - lib/zip/zip_streamable_directory.rb
50
- - lib/zip/zip_streamable_stream.rb
51
- - lib/zip/zipfilesystem.rb
52
- - README.md
53
- - NEWS
54
- - TODO
55
- - Rakefile
56
- homepage: http://github.com/aussiegeek/rubyzip
57
- licenses: []
127
+ - lib/zip/streamable_directory.rb
128
+ - lib/zip/streamable_stream.rb
129
+ - lib/zip/version.rb
130
+ - samples/example.rb
131
+ - samples/example_filesystem.rb
132
+ - samples/example_recursive.rb
133
+ - samples/gtk_ruby_zip.rb
134
+ - samples/qtzip.rb
135
+ - samples/write_simple.rb
136
+ - samples/zipfind.rb
137
+ - test/basic_zip_file_test.rb
138
+ - test/case_sensitivity_test.rb
139
+ - test/central_directory_entry_test.rb
140
+ - test/central_directory_test.rb
141
+ - test/crypto/null_encryption_test.rb
142
+ - test/crypto/traditional_encryption_test.rb
143
+ - test/data/WarnInvalidDate.zip
144
+ - test/data/file1.txt
145
+ - test/data/file1.txt.deflatedData
146
+ - test/data/file2.txt
147
+ - test/data/globTest.zip
148
+ - test/data/globTest/foo.txt
149
+ - test/data/globTest/foo/bar/baz/foo.txt
150
+ - test/data/globTest/food.txt
151
+ - test/data/gpbit3stored.zip
152
+ - test/data/mimetype
153
+ - test/data/notzippedruby.rb
154
+ - test/data/ntfs.zip
155
+ - test/data/oddExtraField.zip
156
+ - test/data/path_traversal/Makefile
157
+ - test/data/path_traversal/jwilk/README.md
158
+ - test/data/path_traversal/jwilk/absolute1.zip
159
+ - test/data/path_traversal/jwilk/absolute2.zip
160
+ - test/data/path_traversal/jwilk/dirsymlink.zip
161
+ - test/data/path_traversal/jwilk/dirsymlink2a.zip
162
+ - test/data/path_traversal/jwilk/dirsymlink2b.zip
163
+ - test/data/path_traversal/jwilk/relative0.zip
164
+ - test/data/path_traversal/jwilk/relative2.zip
165
+ - test/data/path_traversal/jwilk/symlink.zip
166
+ - test/data/path_traversal/relative1.zip
167
+ - test/data/path_traversal/tilde.zip
168
+ - test/data/path_traversal/tuzovakaoff/README.md
169
+ - test/data/path_traversal/tuzovakaoff/absolutepath.zip
170
+ - test/data/path_traversal/tuzovakaoff/symlink.zip
171
+ - test/data/rubycode.zip
172
+ - test/data/rubycode2.zip
173
+ - test/data/test.xls
174
+ - test/data/testDirectory.bin
175
+ - test/data/zip64-sample.zip
176
+ - test/data/zipWithDirs.zip
177
+ - test/data/zipWithEncryption.zip
178
+ - test/deflater_test.rb
179
+ - test/encryption_test.rb
180
+ - test/entry_set_test.rb
181
+ - test/entry_test.rb
182
+ - test/errors_test.rb
183
+ - test/extra_field_test.rb
184
+ - test/file_extract_directory_test.rb
185
+ - test/file_extract_test.rb
186
+ - test/file_permissions_test.rb
187
+ - test/file_split_test.rb
188
+ - test/file_test.rb
189
+ - test/filesystem/dir_iterator_test.rb
190
+ - test/filesystem/directory_test.rb
191
+ - test/filesystem/file_mutating_test.rb
192
+ - test/filesystem/file_nonmutating_test.rb
193
+ - test/filesystem/file_stat_test.rb
194
+ - test/gentestfiles.rb
195
+ - test/inflater_test.rb
196
+ - test/input_stream_test.rb
197
+ - test/ioextras/abstract_input_stream_test.rb
198
+ - test/ioextras/abstract_output_stream_test.rb
199
+ - test/ioextras/fake_io_test.rb
200
+ - test/local_entry_test.rb
201
+ - test/output_stream_test.rb
202
+ - test/pass_thru_compressor_test.rb
203
+ - test/pass_thru_decompressor_test.rb
204
+ - test/path_traversal_test.rb
205
+ - test/samples/example_recursive_test.rb
206
+ - test/settings_test.rb
207
+ - test/test_helper.rb
208
+ - test/unicode_file_names_and_comments_test.rb
209
+ - test/zip64_full_test.rb
210
+ - test/zip64_support_test.rb
211
+ homepage: http://github.com/rubyzip/rubyzip
212
+ licenses:
213
+ - BSD 2-Clause
214
+ metadata:
215
+ bug_tracker_uri: https://github.com/rubyzip/rubyzip/issues
216
+ changelog_uri: https://github.com/rubyzip/rubyzip/blob/v1.3.0/Changelog.md
217
+ documentation_uri: https://www.rubydoc.info/gems/rubyzip/1.3.0
218
+ source_code_uri: https://github.com/rubyzip/rubyzip/tree/v1.3.0
219
+ wiki_uri: https://github.com/rubyzip/rubyzip/wiki
58
220
  post_install_message:
59
221
  rdoc_options: []
60
222
  require_paths:
61
223
  - lib
62
224
  required_ruby_version: !ruby/object:Gem::Requirement
63
- none: false
64
225
  requirements:
65
- - - ! '>='
226
+ - - ">="
66
227
  - !ruby/object:Gem::Version
67
- version: 1.8.7
228
+ version: 1.9.2
68
229
  required_rubygems_version: !ruby/object:Gem::Requirement
69
- none: false
70
230
  requirements:
71
- - - ! '>='
231
+ - - ">="
72
232
  - !ruby/object:Gem::Version
73
233
  version: '0'
74
234
  requirements: []
75
- rubyforge_project:
76
- rubygems_version: 1.8.24
235
+ rubygems_version: 3.0.3
77
236
  signing_key:
78
- specification_version: 3
237
+ specification_version: 4
79
238
  summary: rubyzip is a ruby module for reading and writing zip files
80
- test_files: []
239
+ test_files:
240
+ - test/file_permissions_test.rb
241
+ - test/path_traversal_test.rb
242
+ - test/ioextras/abstract_input_stream_test.rb
243
+ - test/ioextras/fake_io_test.rb
244
+ - test/ioextras/abstract_output_stream_test.rb
245
+ - test/central_directory_test.rb
246
+ - test/central_directory_entry_test.rb
247
+ - test/crypto/traditional_encryption_test.rb
248
+ - test/crypto/null_encryption_test.rb
249
+ - test/input_stream_test.rb
250
+ - test/file_extract_directory_test.rb
251
+ - test/basic_zip_file_test.rb
252
+ - test/inflater_test.rb
253
+ - test/file_extract_test.rb
254
+ - test/pass_thru_compressor_test.rb
255
+ - test/filesystem/file_nonmutating_test.rb
256
+ - test/filesystem/file_stat_test.rb
257
+ - test/filesystem/file_mutating_test.rb
258
+ - test/filesystem/dir_iterator_test.rb
259
+ - test/filesystem/directory_test.rb
260
+ - test/extra_field_test.rb
261
+ - test/zip64_support_test.rb
262
+ - test/local_entry_test.rb
263
+ - test/samples/example_recursive_test.rb
264
+ - test/entry_test.rb
265
+ - test/case_sensitivity_test.rb
266
+ - test/zip64_full_test.rb
267
+ - test/pass_thru_decompressor_test.rb
268
+ - test/settings_test.rb
269
+ - test/gentestfiles.rb
270
+ - test/encryption_test.rb
271
+ - test/file_test.rb
272
+ - test/deflater_test.rb
273
+ - test/test_helper.rb
274
+ - test/errors_test.rb
275
+ - test/file_split_test.rb
276
+ - test/data/file2.txt
277
+ - test/data/testDirectory.bin
278
+ - test/data/globTest/foo.txt
279
+ - test/data/globTest/foo/bar/baz/foo.txt
280
+ - test/data/globTest/food.txt
281
+ - test/data/file1.txt
282
+ - test/data/rubycode.zip
283
+ - test/data/WarnInvalidDate.zip
284
+ - test/data/zipWithDirs.zip
285
+ - test/data/rubycode2.zip
286
+ - test/data/mimetype
287
+ - test/data/zipWithEncryption.zip
288
+ - test/data/path_traversal/tilde.zip
289
+ - test/data/path_traversal/Makefile
290
+ - test/data/path_traversal/relative1.zip
291
+ - test/data/path_traversal/jwilk/dirsymlink.zip
292
+ - test/data/path_traversal/jwilk/symlink.zip
293
+ - test/data/path_traversal/jwilk/README.md
294
+ - test/data/path_traversal/jwilk/relative2.zip
295
+ - test/data/path_traversal/jwilk/relative0.zip
296
+ - test/data/path_traversal/jwilk/absolute2.zip
297
+ - test/data/path_traversal/jwilk/dirsymlink2b.zip
298
+ - test/data/path_traversal/jwilk/absolute1.zip
299
+ - test/data/path_traversal/jwilk/dirsymlink2a.zip
300
+ - test/data/path_traversal/tuzovakaoff/symlink.zip
301
+ - test/data/path_traversal/tuzovakaoff/README.md
302
+ - test/data/path_traversal/tuzovakaoff/absolutepath.zip
303
+ - test/data/oddExtraField.zip
304
+ - test/data/gpbit3stored.zip
305
+ - test/data/ntfs.zip
306
+ - test/data/notzippedruby.rb
307
+ - test/data/globTest.zip
308
+ - test/data/file1.txt.deflatedData
309
+ - test/data/test.xls
310
+ - test/data/zip64-sample.zip
311
+ - test/unicode_file_names_and_comments_test.rb
312
+ - test/entry_set_test.rb
313
+ - test/output_stream_test.rb
data/NEWS DELETED
@@ -1,172 +0,0 @@
1
- = Version 0.9.9
2
-
3
- Added support for backslashes in zip files (generated by the default Windows
4
- zip packer for example) and comment sections with the comment length set to zero
5
- even though there is actually a comment.
6
-
7
- = Version 0.9.8
8
-
9
- Fixed: "Unitialized constant NullInputStream" error
10
-
11
- = Version 0.9.4
12
-
13
- Changed ZipOutputStream.put_next_entry signature (API CHANGE!). Now
14
- allows comment, extra field and compression method to be specified.
15
-
16
- = Version 0.9.3
17
-
18
- Fixed: Added ZipEntry::name_encoding which retrieves the character
19
- encoding of the name and comment of the entry. Also added convenience
20
- methods ZipEntry::name_in(enc) and ZipEntry::comment_in(enc) for
21
- getting zip entry names and comments in a specified character
22
- encoding.
23
-
24
- = Version 0.9.2
25
-
26
- Fixed: Renaming an entry failed if the entry's new name was a
27
- different length than its old name. (Diego Barros)
28
-
29
- = Version 0.9.1
30
-
31
- Added symlink support and support for unix file permissions. Reduced
32
- memory usage during decompression.
33
-
34
- New methods ZipFile::[follow_symlinks, restore_times, restore_permissions, restore_ownership].
35
- New methods ZipEntry::unix_perms, ZipInputStream::eof?.
36
- Added documentation and test for new ZipFile::extract.
37
- Added some of the API suggestions from sf.net #1281314.
38
- Applied patch for sf.net bug #1446926.
39
- Applied patch for sf.net bug #1459902.
40
- Rework ZipEntry and delegate classes.
41
-
42
- = Version 0.5.12
43
-
44
- Fixed problem with writing binary content to a ZipFile in MS Windows.
45
-
46
- = Version 0.5.11
47
-
48
- Fixed name clash file method copy_stream from fileutils.rb. Fixed
49
- problem with references to constant CHUNK_SIZE.
50
- ZipInputStream/AbstractInputStream read is now buffered like ruby IO's
51
- read method, which means that read and gets etc can be mixed. The
52
- unbuffered read method has been renamed to sysread.
53
-
54
- = Version 0.5.10
55
-
56
- Fixed method name resolution problem with FileUtils::copy_stream and
57
- IOExtras::copy_stream.
58
-
59
- = Version 0.5.9
60
-
61
- Fixed serious memory consumption issue
62
-
63
- = Version 0.5.8
64
-
65
- Fixed install script.
66
-
67
- = Version 0.5.7
68
-
69
- install.rb no longer assumes it is being run from the toplevel source
70
- dir. Directory structure changed to reflect common ruby library
71
- project structure. Migrated from RubyUnit to Test::Unit format. Now
72
- uses Rake to build source packages and gems and run unit tests.
73
-
74
- = Version 0.5.6
75
-
76
- Fix for FreeBSD 4.9 which returns Errno::EFBIG instead of
77
- Errno::EINVAL for some invalid seeks. Fixed 'version needed to
78
- extract'-field incorrect in local headers.
79
-
80
- = Version 0.5.5
81
-
82
- Fix for a problem with writing zip files that concerns only ruby 1.8.1.
83
-
84
- = Version 0.5.4
85
-
86
- Significantly reduced memory footprint when modifying zip files.
87
-
88
- = Version 0.5.3
89
-
90
- Added optimization to avoid decompressing and recompressing individual
91
- entries when modifying a zip archive.
92
-
93
- = Version 0.5.2
94
-
95
- Fixed ZipFile corruption bug in ZipFile class. Added basic unix
96
- extra-field support.
97
-
98
- = Version 0.5.1
99
-
100
- Fixed ZipFile.get_output_stream bug.
101
-
102
- = Version 0.5.0
103
-
104
- List of changes:
105
- * Ruby 1.8.0 and ruby-zlib 0.6.0 compatibility
106
- * Changed method names from camelCase to rubys underscore style.
107
- * Installs to zip/ subdir instead of directly to site_ruby
108
- * Added ZipFile.directory and ZipFile.file - each method return an
109
- object that can be used like Dir and File only for the contents of the
110
- zip file.
111
- * Added sample application zipfind which works like Find.find, only
112
- Zip::ZipFind.find traverses into zip archives too.
113
-
114
- Bug fixes:
115
- * AbstractInputStream.each_line with non-default separator
116
-
117
-
118
- = Version 0.5.0a
119
-
120
- Source reorganized. Added ziprequire, which can be used to load ruby
121
- modules from a zip file, in a fashion similar to jar files in
122
- Java. Added gtkRubyzip, another sample application. Implemented
123
- ZipInputStream.lineno and ZipInputStream.rewind
124
-
125
- Bug fixes:
126
-
127
- * Read and write date and time information correctly for zip entries.
128
- * Fixed read() using separate buffer, causing mix of gets/readline/read to
129
- cause problems.
130
-
131
- = Version 0.4.2
132
-
133
- Performance optimizations. Test suite runs in half the time.
134
-
135
- = Version 0.4.1
136
-
137
- Windows compatibility fixes.
138
-
139
- = Version 0.4.0
140
-
141
- Zip::ZipFile is now mutable and provides a more convenient way of
142
- modifying zip archives than Zip::ZipOutputStream. Operations for
143
- adding, extracting, renaming, replacing and removing entries to zip
144
- archives are now available.
145
-
146
- Runs without warnings with -w switch.
147
-
148
- Install script install.rb added.
149
-
150
-
151
- = Version 0.3.1
152
-
153
- Rudimentary support for writing zip archives.
154
-
155
-
156
- = Version 0.2.2
157
-
158
- Fixed and extended unit test suite. Updated to work with ruby/zlib
159
- 0.5. It doesn't work with earlier versions of ruby/zlib.
160
-
161
-
162
- = Version 0.2.0
163
-
164
- Class ZipFile added. Where ZipInputStream is used to read the
165
- individual entries in a zip file, ZipFile reads the central directory
166
- in the zip archive, so you can get to any entry in the zip archive
167
- without having to skipping through all the preceeding entries.
168
-
169
-
170
- = Version 0.1.0
171
-
172
- First working version of ZipInputStream.
data/lib/zip/settings.rb DELETED
@@ -1,10 +0,0 @@
1
- module Zip
2
- class << self
3
- def options
4
- @options ||= {
5
- :on_exists_proc => false,
6
- :continue_on_exists_proc => false
7
- }
8
- end
9
- end
10
- end