zip_tricks 4.3.0 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/IMPLEMENTATION_DETAILS.md +4 -5
- data/Rakefile +5 -1
- data/lib/zip_tricks/size_estimator.rb +10 -0
- data/lib/zip_tricks/streamer.rb +12 -2
- data/lib/zip_tricks/streamer/entry.rb +1 -0
- data/lib/zip_tricks/version.rb +1 -1
- data/lib/zip_tricks/zip_writer.rb +16 -4
- data/testing/generate_test_files.rb +10 -0
- data/testing/test-report-2017-04-2.txt +168 -0
- data/zip_tricks.gemspec +1 -1
- metadata +5 -6
- data/testing/test-report.txt +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b0120891ce2e0dd56729a82b77e629ccef17370
|
4
|
+
data.tar.gz: 1b991e7fed1e10bc6ea477d43bc833913b0092ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76588911904aaa0384621f418215dfe9dc0b7025cccd27ba49ce0260809aed3623240d6859b62f86a4c1a9994ac38a60ca354e770fe87af5a52a5c05970661c9
|
7
|
+
data.tar.gz: b7ffc3a65e09750a8a1458f73329690df3401550b5e31cb1d573c20a807f0f46ba60f21de817281b22201f954e9dc4df5012abbf148cf08db7aa2b213ac1a427
|
data/IMPLEMENTATION_DETAILS.md
CHANGED
@@ -91,8 +91,7 @@ https://commons.apache.org/proper/commons-compress/zip.html
|
|
91
91
|
|
92
92
|
## Directory support
|
93
93
|
|
94
|
-
ZIP
|
95
|
-
|
96
|
-
automatically create the `docs` directory if it doesn't exist already.
|
97
|
-
|
98
|
-
that functionality - so it is also omitted.
|
94
|
+
ZIP offers the possibility to store empty directories (folders). The directories that contain files, however, get
|
95
|
+
created automatically at unarchive time. If you store a file, called, say, `docs/item.doc` then the unarchiver will
|
96
|
+
automatically create the `docs` directory if it doesn't exist already. So you need to use the directory creation
|
97
|
+
methods only if you do not have any files in those directories.
|
data/Rakefile
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
2
|
require "rspec/core/rake_task"
|
3
|
+
require 'yard'
|
3
4
|
|
4
|
-
|
5
|
+
YARD::Rake::YardocTask.new(:doc) do |t|
|
6
|
+
t.files = ['lib/**/*.rb', 'README.md', 'LICENSE.txt', 'IMPLEMENTATION_DETAILS.md']
|
7
|
+
end
|
5
8
|
|
9
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
10
|
task :default => :spec
|
@@ -61,4 +61,14 @@ class ZipTricks::SizeEstimator
|
|
61
61
|
@streamer.write_data_descriptor_for_last_entry if udd
|
62
62
|
self
|
63
63
|
end
|
64
|
+
|
65
|
+
# Add an empty directory to the archive.
|
66
|
+
#
|
67
|
+
# @param dirname [String] the name of the directory
|
68
|
+
# @return self
|
69
|
+
def add_empty_directory_entry(dirname:)
|
70
|
+
@streamer.add_file_and_write_local_header(filename: "#{dirname}" + "/", crc32: 0, storage_mode: 8,
|
71
|
+
compressed_size: 0, uncompressed_size: 0)
|
72
|
+
self
|
73
|
+
end
|
64
74
|
end
|
data/lib/zip_tricks/streamer.rb
CHANGED
@@ -158,6 +158,16 @@ class ZipTricks::Streamer
|
|
158
158
|
@out.tell
|
159
159
|
end
|
160
160
|
|
161
|
+
# Adds an empty directory to the archive with a size of 0 and permissions of 755.
|
162
|
+
#
|
163
|
+
# @param dirname [String] the name of the directory in the archive
|
164
|
+
# @return [Fixnum] the offset the output IO is at after writing the entry header
|
165
|
+
def add_empty_directory(dirname:)
|
166
|
+
add_file_and_write_local_header(filename: "#{dirname}" + "/", crc32: 0, storage_mode: STORED,
|
167
|
+
compressed_size: 0, uncompressed_size: 0)
|
168
|
+
@out.tell
|
169
|
+
end
|
170
|
+
|
161
171
|
# Opens the stream for a stored file in the archive, and yields a writer for that file to the block.
|
162
172
|
# Once the write completes, a data descriptor will be written with the actual compressed/uncompressed
|
163
173
|
# sizes and the CRC32 checksum.
|
@@ -202,7 +212,7 @@ class ZipTricks::Streamer
|
|
202
212
|
last_entry.uncompressed_size = uncomp
|
203
213
|
write_data_descriptor_for_last_entry
|
204
214
|
end
|
205
|
-
|
215
|
+
|
206
216
|
# Closes the archive. Writes the central directory, and switches the writer into
|
207
217
|
# a state where it can no longer be written to.
|
208
218
|
#
|
@@ -258,7 +268,7 @@ class ZipTricks::Streamer
|
|
258
268
|
@writer.write_local_file_header(io: @out, gp_flags: e.gp_flags, crc32: e.crc32, compressed_size: e.compressed_size,
|
259
269
|
uncompressed_size: e.uncompressed_size, mtime: e.mtime, filename: e.filename, storage_mode: e.storage_mode)
|
260
270
|
end
|
261
|
-
|
271
|
+
|
262
272
|
def write_data_descriptor_for_last_entry
|
263
273
|
e = @files.fetch(-1)
|
264
274
|
@writer.write_data_descriptor(io: @out, crc32: 0, compressed_size: e.compressed_size, uncompressed_size: e.uncompressed_size)
|
data/lib/zip_tricks/version.rb
CHANGED
@@ -39,6 +39,12 @@ class ZipTricks::ZipWriter
|
|
39
39
|
file_type_file = 010
|
40
40
|
external_attrs = (file_type_file << 12 | (unix_perms & 07777)) << 16
|
41
41
|
end
|
42
|
+
EMPTY_DIRECTORY_EXTERNAL_ATTRS = begin
|
43
|
+
# Applies permissions to an empty directory.
|
44
|
+
unix_perms = 0755
|
45
|
+
file_type_dir = 004
|
46
|
+
external_attrs = (file_type_file << 12 | (unix_perms & 07777)) << 16
|
47
|
+
end
|
42
48
|
MADE_BY_SIGNATURE = begin
|
43
49
|
# A combination of the VERSION_MADE_BY low byte and the OS type high byte
|
44
50
|
os_type = 3 # UNIX
|
@@ -120,11 +126,10 @@ class ZipTricks::ZipWriter
|
|
120
126
|
# @param uncompressed_size[Fixnum] The size of the file once extracted
|
121
127
|
# @param crc32[Fixnum] The CRC32 checksum of the file
|
122
128
|
# @param mtime[Time] the modification time to be recorded in the ZIP
|
123
|
-
# @param external_attrs[Fixnum] bit-packed external attributes (defaults to UNIX file with 0644 permissions set)
|
124
129
|
# @param gp_flags[Fixnum] bit-packed general purpose flags
|
125
130
|
# @return [void]
|
126
131
|
def write_central_directory_file_header(io:, local_file_header_location:, gp_flags:, storage_mode:, compressed_size:, uncompressed_size:, mtime:, crc32:,
|
127
|
-
filename
|
132
|
+
filename:)
|
128
133
|
# At this point if the header begins somewhere beyound 0xFFFFFFFF we _have_ to record the offset
|
129
134
|
# of the local file header as a zip64 extra field, so we give up, give in, you loose, love will always win...
|
130
135
|
add_zip64 = (local_file_header_location > FOUR_BYTE_MAX_UINT) ||
|
@@ -137,7 +142,7 @@ class ZipTricks::ZipWriter
|
|
137
142
|
else
|
138
143
|
io << [VERSION_NEEDED_TO_EXTRACT].pack(C_v) # version needed to extract 2 bytes
|
139
144
|
end
|
140
|
-
|
145
|
+
|
141
146
|
io << [gp_flags].pack(C_v) # general purpose bit flag 2 bytes
|
142
147
|
io << [storage_mode].pack(C_v) # compression method 2 bytes
|
143
148
|
io << [to_binary_dos_time(mtime)].pack(C_v) # last mod file time 2 bytes
|
@@ -176,7 +181,14 @@ class ZipTricks::ZipWriter
|
|
176
181
|
io << [0].pack(C_v)
|
177
182
|
end
|
178
183
|
io << [0].pack(C_v) # internal file attributes 2 bytes
|
179
|
-
|
184
|
+
|
185
|
+
# Because the add_empty_directory method will create a directory with a trailing "/",
|
186
|
+
# this check can be used to assign proper permissions to the created directory.
|
187
|
+
if filename.end_with?("/")
|
188
|
+
io << [EMPTY_DIRECTORY_EXTERNAL_ATTRS].pack(C_V)
|
189
|
+
else
|
190
|
+
io << [DEFAULT_EXTERNAL_ATTRS].pack(C_V) # external file attributes 4 bytes
|
191
|
+
end
|
180
192
|
|
181
193
|
if add_zip64 # relative offset of local header 4 bytes
|
182
194
|
io << [FOUR_BYTE_MAX_UINT].pack(C_V)
|
@@ -8,6 +8,16 @@ build_test "Two small stored files" do |zip|
|
|
8
8
|
zip << $image_file
|
9
9
|
end
|
10
10
|
|
11
|
+
build_test "Two small stored files and an empty directory" do |zip|
|
12
|
+
zip.add_stored_entry(filename: 'text.txt', size: $war_and_peace.bytesize, crc32: $war_and_peace_crc)
|
13
|
+
zip << $war_and_peace
|
14
|
+
|
15
|
+
zip.add_stored_entry(filename: 'image.jpg', size: $image_file.bytesize, crc32: $image_file_crc)
|
16
|
+
zip << $image_file
|
17
|
+
|
18
|
+
zip.add_empty_directory(dirname: "Chekov")
|
19
|
+
end
|
20
|
+
|
11
21
|
build_test "Filename with diacritics" do |zip|
|
12
22
|
zip.add_stored_entry(filename: 'Kungälv.txt', size: $war_and_peace.bytesize, crc32: $war_and_peace_crc)
|
13
23
|
zip << $war_and_peace
|
@@ -0,0 +1,168 @@
|
|
1
|
+
|
2
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
3
|
+
| OSX 10.11 - Archive Utility (builtin) |
|
4
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
5
|
+
| Test | Outcome |
|
6
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
7
|
+
| 01-two_small_stored_files.zip | Works |
|
8
|
+
| Two small stored files | |
|
9
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
10
|
+
| 02-two_small_stored_files_and_an_empty_directory.zip | Works |
|
11
|
+
| Two small stored files and an empty directory | |
|
12
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
13
|
+
| 03-filename_with_diacritics.zip | Works |
|
14
|
+
| Filename with diacritics | |
|
15
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
16
|
+
| 04-purely_utf8_filename.zip | Works |
|
17
|
+
| Purely UTF-8 filename | |
|
18
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
19
|
+
| 05-two_entries_larger_than_the_overall_zip64_offset.zip | Pending |
|
20
|
+
| Two entries larger than the overall Zip64 offset | |
|
21
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
22
|
+
| 06-one_entry_that_requires_zip64_and_a_tiny_entry_following_it.zip | Pending |
|
23
|
+
| One entry that requires Zip64 and a tiny entry following it | |
|
24
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
25
|
+
| 07-one_tiny_entry_followed_by_second_that_requires_zip64.zip | Pending |
|
26
|
+
| One tiny entry followed by second that requires Zip64 | |
|
27
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
28
|
+
| 08-two_entries_both_requiring_zip64.zip | Pending |
|
29
|
+
| Two entries both requiring Zip64 | |
|
30
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
31
|
+
| 09-two_stored_entries_using_data_descriptors.zip | Works |
|
32
|
+
| Two stored entries using data descriptors | |
|
33
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
34
|
+
| 10-one_entry_deflated_using_data_descriptors.zip | Works |
|
35
|
+
| One entry deflated using data descriptors | |
|
36
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
37
|
+
| 11-two_entries_larger_than_the_overall_zip64_offset_using_data_descriptors.zip | Pending |
|
38
|
+
| Two entries larger than the overall Zip64 offset using data descriptors | |
|
39
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
40
|
+
| 12-one_stored_entry_larger_than_zip64_threshold_using_data_descriptors.zip | Pending |
|
41
|
+
| One stored entry larger than Zip64 threshold using data descriptors | |
|
42
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
43
|
+
|
44
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
45
|
+
| OSX - The Unarchiver 3.10 |
|
46
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
47
|
+
| Test | Outcome |
|
48
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
49
|
+
| 01-two_small_stored_files.zip | Works |
|
50
|
+
| Two small stored files | |
|
51
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
52
|
+
| 02-two_small_stored_files_and_an_empty_directory.zip | Works |
|
53
|
+
| Two small stored files and an empty directory | |
|
54
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
55
|
+
| 03-filename_with_diacritics.zip | Works |
|
56
|
+
| Filename with diacritics | |
|
57
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
58
|
+
| 04-purely_utf8_filename.zip | Works |
|
59
|
+
| Purely UTF-8 filename | |
|
60
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
61
|
+
| 05-two_entries_larger_than_the_overall_zip64_offset.zip | Pending |
|
62
|
+
| Two entries larger than the overall Zip64 offset | |
|
63
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
64
|
+
| 06-one_entry_that_requires_zip64_and_a_tiny_entry_following_it.zip | Pending |
|
65
|
+
| One entry that requires Zip64 and a tiny entry following it | |
|
66
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
67
|
+
| 07-one_tiny_entry_followed_by_second_that_requires_zip64.zip | Pending |
|
68
|
+
| One tiny entry followed by second that requires Zip64 | |
|
69
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
70
|
+
| 08-two_entries_both_requiring_zip64.zip | Pending |
|
71
|
+
| Two entries both requiring Zip64 | |
|
72
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
73
|
+
| 09-two_stored_entries_using_data_descriptors.zip | Works |
|
74
|
+
| Two stored entries using data descriptors | |
|
75
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
76
|
+
| 10-one_entry_deflated_using_data_descriptors.zip | Works |
|
77
|
+
| One entry deflated using data descriptors | |
|
78
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
79
|
+
| 11-two_entries_larger_than_the_overall_zip64_offset_using_data_descriptors.zip | Pending |
|
80
|
+
| Two entries larger than the overall Zip64 offset using data descriptors | |
|
81
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
82
|
+
| 12-one_stored_entry_larger_than_zip64_threshold_using_data_descriptors.zip | Pending |
|
83
|
+
| One stored entry larger than Zip64 threshold using data descriptors | |
|
84
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
85
|
+
|
86
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
87
|
+
| Windows7 x64 - Builtin Explorer ZIP opener |
|
88
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
89
|
+
| Test | Outcome |
|
90
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
91
|
+
| 01-two_small_stored_files.zip | Pending |
|
92
|
+
| Two small stored files | |
|
93
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
94
|
+
| 02-two_small_stored_files_and_an_empty_directory.zip | Works |
|
95
|
+
| Two small stored files and an empty directory | |
|
96
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
97
|
+
| 03-filename_with_diacritics.zip | Pending |
|
98
|
+
| Filename with diacritics | |
|
99
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
100
|
+
| 04-purely_utf8_filename.zip | Pending |
|
101
|
+
| Purely UTF-8 filename | |
|
102
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
103
|
+
| 05-two_entries_larger_than_the_overall_zip64_offset.zip | Pending |
|
104
|
+
| Two entries larger than the overall Zip64 offset | |
|
105
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
106
|
+
| 06-one_entry_that_requires_zip64_and_a_tiny_entry_following_it.zip | Pending |
|
107
|
+
| One entry that requires Zip64 and a tiny entry following it | |
|
108
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
109
|
+
| 07-one_tiny_entry_followed_by_second_that_requires_zip64.zip | Pending |
|
110
|
+
| One tiny entry followed by second that requires Zip64 | |
|
111
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
112
|
+
| 08-two_entries_both_requiring_zip64.zip | Pending |
|
113
|
+
| Two entries both requiring Zip64 | |
|
114
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
115
|
+
| 09-two_stored_entries_using_data_descriptors.zip | Pending |
|
116
|
+
| Two stored entries using data descriptors | |
|
117
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
118
|
+
| 10-one_entry_deflated_using_data_descriptors.zip | Pending |
|
119
|
+
| One entry deflated using data descriptors | |
|
120
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
121
|
+
| 11-two_entries_larger_than_the_overall_zip64_offset_using_data_descriptors.zip | Pending |
|
122
|
+
| Two entries larger than the overall Zip64 offset using data descriptors | |
|
123
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
124
|
+
| 12-one_stored_entry_larger_than_zip64_threshold_using_data_descriptors.zip | Pending |
|
125
|
+
| One stored entry larger than Zip64 threshold using data descriptors | |
|
126
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
127
|
+
|
128
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
129
|
+
| Windows7 x64 - 7Zip 9.20 |
|
130
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
131
|
+
| Test | Outcome |
|
132
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
133
|
+
| 01-two_small_stored_files.zip | Pending |
|
134
|
+
| Two small stored files | |
|
135
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
136
|
+
| 02-two_small_stored_files_and_an_empty_directory.zip | Works |
|
137
|
+
| Two small stored files and an empty directory | |
|
138
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
139
|
+
| 03-filename_with_diacritics.zip | Pending |
|
140
|
+
| Filename with diacritics | |
|
141
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
142
|
+
| 04-purely_utf8_filename.zip | Pending |
|
143
|
+
| Purely UTF-8 filename | |
|
144
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
145
|
+
| 05-two_entries_larger_than_the_overall_zip64_offset.zip | Pending |
|
146
|
+
| Two entries larger than the overall Zip64 offset | |
|
147
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
148
|
+
| 06-one_entry_that_requires_zip64_and_a_tiny_entry_following_it.zip | Pending |
|
149
|
+
| One entry that requires Zip64 and a tiny entry following it | |
|
150
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
151
|
+
| 07-one_tiny_entry_followed_by_second_that_requires_zip64.zip | Pending |
|
152
|
+
| One tiny entry followed by second that requires Zip64 | |
|
153
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
154
|
+
| 08-two_entries_both_requiring_zip64.zip | Pending |
|
155
|
+
| Two entries both requiring Zip64 | |
|
156
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
157
|
+
| 09-two_stored_entries_using_data_descriptors.zip | Pending |
|
158
|
+
| Two stored entries using data descriptors | |
|
159
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
160
|
+
| 10-one_entry_deflated_using_data_descriptors.zip | Pending |
|
161
|
+
| One entry deflated using data descriptors | |
|
162
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
163
|
+
| 11-two_entries_larger_than_the_overall_zip64_offset_using_data_descriptors.zip | Pending |
|
164
|
+
| Two entries larger than the overall Zip64 offset using data descriptors | |
|
165
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
166
|
+
| 12-one_stored_entry_larger_than_zip64_threshold_using_data_descriptors.zip | Pending |
|
167
|
+
| One stored entry larger than Zip64 threshold using data descriptors | |
|
168
|
+
+--------------------------------------------------------------------------------+------------------------------------------------------------------+
|
data/zip_tricks.gemspec
CHANGED
@@ -37,6 +37,6 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_development_dependency 'rake', '~> 10.4'
|
38
38
|
spec.add_development_dependency "rspec", "~> 3.2.0", '< 3.3'
|
39
39
|
spec.add_development_dependency 'coderay'
|
40
|
-
spec.add_development_dependency "yard", "~> 0.
|
40
|
+
spec.add_development_dependency "yard", "~> 0.9"
|
41
41
|
|
42
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zip_tricks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julik Tarkhanov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -134,14 +134,14 @@ dependencies:
|
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '0.
|
137
|
+
version: '0.9'
|
138
138
|
type: :development
|
139
139
|
prerelease: false
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0.
|
144
|
+
version: '0.9'
|
145
145
|
description: Stream out ZIP files from Ruby
|
146
146
|
email:
|
147
147
|
- me@julik.nl
|
@@ -191,7 +191,7 @@ files:
|
|
191
191
|
- testing/support.rb
|
192
192
|
- testing/test-report-2016-07-28.txt
|
193
193
|
- testing/test-report-2016-12-12.txt
|
194
|
-
- testing/test-report.txt
|
194
|
+
- testing/test-report-2017-04-2.txt
|
195
195
|
- zip_tricks.gemspec
|
196
196
|
homepage: http://github.com/wetransfer/zip_tricks
|
197
197
|
licenses: []
|
@@ -218,4 +218,3 @@ signing_key:
|
|
218
218
|
specification_version: 4
|
219
219
|
summary: Stream out ZIP files from Ruby
|
220
220
|
test_files: []
|
221
|
-
has_rdoc:
|
data/testing/test-report.txt
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
|
2
|
-
+-------------------+-------------------+
|
3
|
-
| OSX 10.11 - Archive Utility (builtin) |
|
4
|
-
+-------------------+-------------------+
|
5
|
-
| Test | Outcome |
|
6
|
-
+-------------------+-------------------+
|
7
|
-
+-------------------+-------------------+
|
8
|
-
|
9
|
-
+-------------+-------------+
|
10
|
-
| OSX - The Unarchiver 3.10 |
|
11
|
-
+-------------+-------------+
|
12
|
-
| Test | Outcome |
|
13
|
-
+-------------+-------------+
|
14
|
-
+-------------+-------------+
|
15
|
-
|
16
|
-
+----------------------+----------------------+
|
17
|
-
| Windows7 x64 - Builtin Explorer ZIP opener |
|
18
|
-
+----------------------+----------------------+
|
19
|
-
| Test | Outcome |
|
20
|
-
+----------------------+----------------------+
|
21
|
-
+----------------------+----------------------+
|
22
|
-
|
23
|
-
+-------------+-------------+
|
24
|
-
| Windows7 x64 - 7Zip 9.20 |
|
25
|
-
+-------------+-------------+
|
26
|
-
| Test | Outcome |
|
27
|
-
+-------------+-------------+
|
28
|
-
+-------------+-------------+
|