archive-zip 0.12.0 → 0.13.0.pre1

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.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/NEWS.md +5 -0
  4. data/README.md +1 -1
  5. data/lib/archive/support/ioextensions.rb +5 -7
  6. data/lib/archive/support/iowindow.rb +34 -87
  7. data/lib/archive/support/stringio.rb +27 -0
  8. data/lib/archive/support/zlib.rb +0 -435
  9. data/lib/archive/zip/codec/deflate/reader.rb +187 -0
  10. data/lib/archive/zip/codec/deflate/writer.rb +209 -0
  11. data/lib/archive/zip/codec/deflate.rb +92 -244
  12. data/lib/archive/zip/codec/null_encryption.rb +4 -184
  13. data/lib/archive/zip/codec/store/reader.rb +97 -0
  14. data/lib/archive/zip/codec/store/writer.rb +78 -0
  15. data/lib/archive/zip/codec/store.rb +6 -231
  16. data/lib/archive/zip/codec/traditional_encryption/base.rb +85 -0
  17. data/lib/archive/zip/codec/traditional_encryption/reader.rb +65 -0
  18. data/lib/archive/zip/codec/traditional_encryption/writer.rb +71 -0
  19. data/lib/archive/zip/codec/traditional_encryption.rb +6 -360
  20. data/lib/archive/zip/dos_time.rb +103 -0
  21. data/lib/archive/zip/entry.rb +86 -70
  22. data/lib/archive/zip.rb +2 -5
  23. metadata +35 -227
  24. data/.yardopts +0 -1
  25. data/Rakefile +0 -247
  26. data/lib/archive/support/binary_stringio.rb +0 -30
  27. data/lib/archive/support/integer.rb +0 -13
  28. data/lib/archive/support/io-like.rb +0 -14
  29. data/lib/archive/support/time.rb +0 -119
  30. data/lib/archive/zip/version.rb +0 -6
  31. data/spec/archive/dos_time_spec.rb +0 -113
  32. data/spec/archive/zip/archive_spec.rb +0 -54
  33. data/spec/archive/zip/codec/deflate/compress/checksum_spec.rb +0 -44
  34. data/spec/archive/zip/codec/deflate/compress/close_spec.rb +0 -45
  35. data/spec/archive/zip/codec/deflate/compress/crc32_spec.rb +0 -23
  36. data/spec/archive/zip/codec/deflate/compress/data_descriptor_spec.rb +0 -74
  37. data/spec/archive/zip/codec/deflate/compress/new_spec.rb +0 -39
  38. data/spec/archive/zip/codec/deflate/compress/open_spec.rb +0 -48
  39. data/spec/archive/zip/codec/deflate/compress/write_spec.rb +0 -111
  40. data/spec/archive/zip/codec/deflate/decompress/checksum_spec.rb +0 -20
  41. data/spec/archive/zip/codec/deflate/decompress/close_spec.rb +0 -34
  42. data/spec/archive/zip/codec/deflate/decompress/crc32_spec.rb +0 -20
  43. data/spec/archive/zip/codec/deflate/decompress/data_descriptor_spec.rb +0 -74
  44. data/spec/archive/zip/codec/deflate/decompress/new_spec.rb +0 -16
  45. data/spec/archive/zip/codec/deflate/decompress/open_spec.rb +0 -29
  46. data/spec/archive/zip/codec/deflate/fixtures/classes.rb +0 -25
  47. data/spec/archive/zip/codec/deflate/fixtures/compressed_file.bin +0 -1
  48. data/spec/archive/zip/codec/deflate/fixtures/compressed_file_nocomp.bin +0 -0
  49. data/spec/archive/zip/codec/deflate/fixtures/raw_file.txt +0 -10
  50. data/spec/archive/zip/codec/null_encryption/decrypt/close_spec.rb +0 -34
  51. data/spec/archive/zip/codec/null_encryption/decrypt/new_spec.rb +0 -16
  52. data/spec/archive/zip/codec/null_encryption/decrypt/open_spec.rb +0 -29
  53. data/spec/archive/zip/codec/null_encryption/decrypt/read_spec.rb +0 -26
  54. data/spec/archive/zip/codec/null_encryption/decrypt/rewind_spec.rb +0 -27
  55. data/spec/archive/zip/codec/null_encryption/decrypt/seek_spec.rb +0 -59
  56. data/spec/archive/zip/codec/null_encryption/decrypt/tell_spec.rb +0 -23
  57. data/spec/archive/zip/codec/null_encryption/encrypt/close_spec.rb +0 -34
  58. data/spec/archive/zip/codec/null_encryption/encrypt/new_spec.rb +0 -16
  59. data/spec/archive/zip/codec/null_encryption/encrypt/open_spec.rb +0 -31
  60. data/spec/archive/zip/codec/null_encryption/encrypt/rewind_spec.rb +0 -28
  61. data/spec/archive/zip/codec/null_encryption/encrypt/seek_spec.rb +0 -52
  62. data/spec/archive/zip/codec/null_encryption/encrypt/tell_spec.rb +0 -31
  63. data/spec/archive/zip/codec/null_encryption/encrypt/write_spec.rb +0 -31
  64. data/spec/archive/zip/codec/null_encryption/fixtures/classes.rb +0 -12
  65. data/spec/archive/zip/codec/null_encryption/fixtures/raw_file.txt +0 -10
  66. data/spec/archive/zip/codec/store/compress/close_spec.rb +0 -34
  67. data/spec/archive/zip/codec/store/compress/data_descriptor_spec.rb +0 -77
  68. data/spec/archive/zip/codec/store/compress/new_spec.rb +0 -16
  69. data/spec/archive/zip/codec/store/compress/open_spec.rb +0 -29
  70. data/spec/archive/zip/codec/store/compress/rewind_spec.rb +0 -28
  71. data/spec/archive/zip/codec/store/compress/seek_spec.rb +0 -52
  72. data/spec/archive/zip/codec/store/compress/tell_spec.rb +0 -31
  73. data/spec/archive/zip/codec/store/compress/write_spec.rb +0 -29
  74. data/spec/archive/zip/codec/store/decompress/close_spec.rb +0 -34
  75. data/spec/archive/zip/codec/store/decompress/data_descriptor_spec.rb +0 -75
  76. data/spec/archive/zip/codec/store/decompress/new_spec.rb +0 -16
  77. data/spec/archive/zip/codec/store/decompress/open_spec.rb +0 -29
  78. data/spec/archive/zip/codec/store/decompress/read_spec.rb +0 -26
  79. data/spec/archive/zip/codec/store/decompress/rewind_spec.rb +0 -27
  80. data/spec/archive/zip/codec/store/decompress/seek_spec.rb +0 -59
  81. data/spec/archive/zip/codec/store/decompress/tell_spec.rb +0 -23
  82. data/spec/archive/zip/codec/store/fixtures/classes.rb +0 -12
  83. data/spec/archive/zip/codec/store/fixtures/raw_file.txt +0 -10
  84. data/spec/archive/zip/codec/traditional_encryption/decrypt/close_spec.rb +0 -53
  85. data/spec/archive/zip/codec/traditional_encryption/decrypt/new_spec.rb +0 -20
  86. data/spec/archive/zip/codec/traditional_encryption/decrypt/open_spec.rb +0 -43
  87. data/spec/archive/zip/codec/traditional_encryption/decrypt/read_spec.rb +0 -127
  88. data/spec/archive/zip/codec/traditional_encryption/decrypt/rewind_spec.rb +0 -36
  89. data/spec/archive/zip/codec/traditional_encryption/decrypt/seek_spec.rb +0 -80
  90. data/spec/archive/zip/codec/traditional_encryption/decrypt/tell_spec.rb +0 -27
  91. data/spec/archive/zip/codec/traditional_encryption/encrypt/close_spec.rb +0 -53
  92. data/spec/archive/zip/codec/traditional_encryption/encrypt/new_spec.rb +0 -20
  93. data/spec/archive/zip/codec/traditional_encryption/encrypt/open_spec.rb +0 -41
  94. data/spec/archive/zip/codec/traditional_encryption/encrypt/rewind_spec.rb +0 -39
  95. data/spec/archive/zip/codec/traditional_encryption/encrypt/seek_spec.rb +0 -73
  96. data/spec/archive/zip/codec/traditional_encryption/encrypt/tell_spec.rb +0 -40
  97. data/spec/archive/zip/codec/traditional_encryption/encrypt/write_spec.rb +0 -114
  98. data/spec/archive/zip/codec/traditional_encryption/fixtures/classes.rb +0 -27
  99. data/spec/archive/zip/codec/traditional_encryption/fixtures/encrypted_file.bin +0 -0
  100. data/spec/archive/zip/codec/traditional_encryption/fixtures/raw_file.txt +0 -10
  101. data/spec/binary_stringio/new_spec.rb +0 -40
  102. data/spec/binary_stringio/set_encoding_spec.rb +0 -17
  103. data/spec/ioextensions/read_exactly_spec.rb +0 -52
  104. data/spec/zlib/fixtures/classes.rb +0 -65
  105. data/spec/zlib/fixtures/compressed_file.bin +0 -1
  106. data/spec/zlib/fixtures/compressed_file_gzip.bin +0 -0
  107. data/spec/zlib/fixtures/compressed_file_huffman.bin +0 -2
  108. data/spec/zlib/fixtures/compressed_file_minmem.bin +0 -0
  109. data/spec/zlib/fixtures/compressed_file_minwin.bin +0 -1
  110. data/spec/zlib/fixtures/compressed_file_nocomp.bin +0 -0
  111. data/spec/zlib/fixtures/compressed_file_raw.bin +0 -1
  112. data/spec/zlib/fixtures/raw_file.txt +0 -10
  113. data/spec/zlib/zreader/checksum_spec.rb +0 -42
  114. data/spec/zlib/zreader/close_spec.rb +0 -16
  115. data/spec/zlib/zreader/compressed_size_spec.rb +0 -20
  116. data/spec/zlib/zreader/new_spec.rb +0 -43
  117. data/spec/zlib/zreader/open_spec.rb +0 -51
  118. data/spec/zlib/zreader/read_spec.rb +0 -58
  119. data/spec/zlib/zreader/rewind_spec.rb +0 -25
  120. data/spec/zlib/zreader/seek_spec.rb +0 -57
  121. data/spec/zlib/zreader/tell_spec.rb +0 -23
  122. data/spec/zlib/zreader/uncompressed_size_spec.rb +0 -20
  123. data/spec/zlib/zwriter/checksum_spec.rb +0 -43
  124. data/spec/zlib/zwriter/close_spec.rb +0 -16
  125. data/spec/zlib/zwriter/compressed_size_spec.rb +0 -21
  126. data/spec/zlib/zwriter/new_spec.rb +0 -66
  127. data/spec/zlib/zwriter/open_spec.rb +0 -70
  128. data/spec/zlib/zwriter/rewind_spec.rb +0 -28
  129. data/spec/zlib/zwriter/seek_spec.rb +0 -52
  130. data/spec/zlib/zwriter/tell_spec.rb +0 -31
  131. data/spec/zlib/zwriter/uncompressed_size_spec.rb +0 -21
  132. data/spec/zlib/zwriter/write_spec.rb +0 -28
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: archive-zip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Bopp
8
8
  - Akira Matsuda
9
9
  - Tatsuya Sato
10
10
  - Kouhei Sutou
11
- autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2019-03-01 00:00:00.000000000 Z
13
+ date: 2025-05-26 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: io-like
@@ -19,28 +18,28 @@ dependencies:
19
18
  requirements:
20
19
  - - "~>"
21
20
  - !ruby/object:Gem::Version
22
- version: 0.3.0
21
+ version: 0.4.0.pre1
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
26
25
  requirements:
27
26
  - - "~>"
28
27
  - !ruby/object:Gem::Version
29
- version: 0.3.0
28
+ version: 0.4.0.pre1
30
29
  - !ruby/object:Gem::Dependency
31
30
  name: rake
32
31
  requirement: !ruby/object:Gem::Requirement
33
32
  requirements:
34
33
  - - "~>"
35
34
  - !ruby/object:Gem::Version
36
- version: '12.3'
35
+ version: '13.0'
37
36
  type: :development
38
37
  prerelease: false
39
38
  version_requirements: !ruby/object:Gem::Requirement
40
39
  requirements:
41
40
  - - "~>"
42
41
  - !ruby/object:Gem::Version
43
- version: '12.3'
42
+ version: '13.0'
44
43
  - !ruby/object:Gem::Dependency
45
44
  name: minitest
46
45
  requirement: !ruby/object:Gem::Requirement
@@ -61,28 +60,28 @@ dependencies:
61
60
  requirements:
62
61
  - - "~>"
63
62
  - !ruby/object:Gem::Version
64
- version: 0.9.12
63
+ version: '0.9'
65
64
  type: :development
66
65
  prerelease: false
67
66
  version_requirements: !ruby/object:Gem::Requirement
68
67
  requirements:
69
68
  - - "~>"
70
69
  - !ruby/object:Gem::Version
71
- version: 0.9.12
70
+ version: '0.9'
72
71
  - !ruby/object:Gem::Dependency
73
72
  name: github-markup
74
73
  requirement: !ruby/object:Gem::Requirement
75
74
  requirements:
76
75
  - - "~>"
77
76
  - !ruby/object:Gem::Version
78
- version: '1.6'
77
+ version: '3.0'
79
78
  type: :development
80
79
  prerelease: false
81
80
  version_requirements: !ruby/object:Gem::Requirement
82
81
  requirements:
83
82
  - - "~>"
84
83
  - !ruby/object:Gem::Version
85
- version: '1.6'
84
+ version: '3.0'
86
85
  - !ruby/object:Gem::Dependency
87
86
  name: redcarpet
88
87
  requirement: !ruby/object:Gem::Requirement
@@ -97,6 +96,20 @@ dependencies:
97
96
  - - "~>"
98
97
  - !ruby/object:Gem::Version
99
98
  version: '3.4'
99
+ - !ruby/object:Gem::Dependency
100
+ name: simplecov
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 0.20.0
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 0.20.0
100
113
  description: |
101
114
  Archive::Zip provides a simple Ruby-esque interface to creating, extracting, and
102
115
  updating ZIP archives. This implementation is 100% Ruby and loosely modeled on
@@ -111,139 +124,38 @@ executables: []
111
124
  extensions: []
112
125
  extra_rdoc_files: []
113
126
  files:
114
- - ".yardopts"
115
127
  - LICENSE
116
128
  - NEWS.md
117
129
  - README.md
118
- - Rakefile
119
- - lib/archive/support/binary_stringio.rb
120
- - lib/archive/support/integer.rb
121
- - lib/archive/support/io-like.rb
122
130
  - lib/archive/support/ioextensions.rb
123
131
  - lib/archive/support/iowindow.rb
124
- - lib/archive/support/time.rb
132
+ - lib/archive/support/stringio.rb
125
133
  - lib/archive/support/zlib.rb
126
134
  - lib/archive/zip.rb
127
135
  - lib/archive/zip/codec.rb
128
136
  - lib/archive/zip/codec/deflate.rb
137
+ - lib/archive/zip/codec/deflate/reader.rb
138
+ - lib/archive/zip/codec/deflate/writer.rb
129
139
  - lib/archive/zip/codec/null_encryption.rb
130
140
  - lib/archive/zip/codec/store.rb
141
+ - lib/archive/zip/codec/store/reader.rb
142
+ - lib/archive/zip/codec/store/writer.rb
131
143
  - lib/archive/zip/codec/traditional_encryption.rb
144
+ - lib/archive/zip/codec/traditional_encryption/base.rb
145
+ - lib/archive/zip/codec/traditional_encryption/reader.rb
146
+ - lib/archive/zip/codec/traditional_encryption/writer.rb
132
147
  - lib/archive/zip/data_descriptor.rb
148
+ - lib/archive/zip/dos_time.rb
133
149
  - lib/archive/zip/entry.rb
134
150
  - lib/archive/zip/error.rb
135
151
  - lib/archive/zip/extra_field.rb
136
152
  - lib/archive/zip/extra_field/extended_timestamp.rb
137
153
  - lib/archive/zip/extra_field/raw.rb
138
154
  - lib/archive/zip/extra_field/unix.rb
139
- - lib/archive/zip/version.rb
140
- - spec/archive/dos_time_spec.rb
141
- - spec/archive/zip/archive_spec.rb
142
- - spec/archive/zip/codec/deflate/compress/checksum_spec.rb
143
- - spec/archive/zip/codec/deflate/compress/close_spec.rb
144
- - spec/archive/zip/codec/deflate/compress/crc32_spec.rb
145
- - spec/archive/zip/codec/deflate/compress/data_descriptor_spec.rb
146
- - spec/archive/zip/codec/deflate/compress/new_spec.rb
147
- - spec/archive/zip/codec/deflate/compress/open_spec.rb
148
- - spec/archive/zip/codec/deflate/compress/write_spec.rb
149
- - spec/archive/zip/codec/deflate/decompress/checksum_spec.rb
150
- - spec/archive/zip/codec/deflate/decompress/close_spec.rb
151
- - spec/archive/zip/codec/deflate/decompress/crc32_spec.rb
152
- - spec/archive/zip/codec/deflate/decompress/data_descriptor_spec.rb
153
- - spec/archive/zip/codec/deflate/decompress/new_spec.rb
154
- - spec/archive/zip/codec/deflate/decompress/open_spec.rb
155
- - spec/archive/zip/codec/deflate/fixtures/classes.rb
156
- - spec/archive/zip/codec/deflate/fixtures/compressed_file.bin
157
- - spec/archive/zip/codec/deflate/fixtures/compressed_file_nocomp.bin
158
- - spec/archive/zip/codec/deflate/fixtures/raw_file.txt
159
- - spec/archive/zip/codec/null_encryption/decrypt/close_spec.rb
160
- - spec/archive/zip/codec/null_encryption/decrypt/new_spec.rb
161
- - spec/archive/zip/codec/null_encryption/decrypt/open_spec.rb
162
- - spec/archive/zip/codec/null_encryption/decrypt/read_spec.rb
163
- - spec/archive/zip/codec/null_encryption/decrypt/rewind_spec.rb
164
- - spec/archive/zip/codec/null_encryption/decrypt/seek_spec.rb
165
- - spec/archive/zip/codec/null_encryption/decrypt/tell_spec.rb
166
- - spec/archive/zip/codec/null_encryption/encrypt/close_spec.rb
167
- - spec/archive/zip/codec/null_encryption/encrypt/new_spec.rb
168
- - spec/archive/zip/codec/null_encryption/encrypt/open_spec.rb
169
- - spec/archive/zip/codec/null_encryption/encrypt/rewind_spec.rb
170
- - spec/archive/zip/codec/null_encryption/encrypt/seek_spec.rb
171
- - spec/archive/zip/codec/null_encryption/encrypt/tell_spec.rb
172
- - spec/archive/zip/codec/null_encryption/encrypt/write_spec.rb
173
- - spec/archive/zip/codec/null_encryption/fixtures/classes.rb
174
- - spec/archive/zip/codec/null_encryption/fixtures/raw_file.txt
175
- - spec/archive/zip/codec/store/compress/close_spec.rb
176
- - spec/archive/zip/codec/store/compress/data_descriptor_spec.rb
177
- - spec/archive/zip/codec/store/compress/new_spec.rb
178
- - spec/archive/zip/codec/store/compress/open_spec.rb
179
- - spec/archive/zip/codec/store/compress/rewind_spec.rb
180
- - spec/archive/zip/codec/store/compress/seek_spec.rb
181
- - spec/archive/zip/codec/store/compress/tell_spec.rb
182
- - spec/archive/zip/codec/store/compress/write_spec.rb
183
- - spec/archive/zip/codec/store/decompress/close_spec.rb
184
- - spec/archive/zip/codec/store/decompress/data_descriptor_spec.rb
185
- - spec/archive/zip/codec/store/decompress/new_spec.rb
186
- - spec/archive/zip/codec/store/decompress/open_spec.rb
187
- - spec/archive/zip/codec/store/decompress/read_spec.rb
188
- - spec/archive/zip/codec/store/decompress/rewind_spec.rb
189
- - spec/archive/zip/codec/store/decompress/seek_spec.rb
190
- - spec/archive/zip/codec/store/decompress/tell_spec.rb
191
- - spec/archive/zip/codec/store/fixtures/classes.rb
192
- - spec/archive/zip/codec/store/fixtures/raw_file.txt
193
- - spec/archive/zip/codec/traditional_encryption/decrypt/close_spec.rb
194
- - spec/archive/zip/codec/traditional_encryption/decrypt/new_spec.rb
195
- - spec/archive/zip/codec/traditional_encryption/decrypt/open_spec.rb
196
- - spec/archive/zip/codec/traditional_encryption/decrypt/read_spec.rb
197
- - spec/archive/zip/codec/traditional_encryption/decrypt/rewind_spec.rb
198
- - spec/archive/zip/codec/traditional_encryption/decrypt/seek_spec.rb
199
- - spec/archive/zip/codec/traditional_encryption/decrypt/tell_spec.rb
200
- - spec/archive/zip/codec/traditional_encryption/encrypt/close_spec.rb
201
- - spec/archive/zip/codec/traditional_encryption/encrypt/new_spec.rb
202
- - spec/archive/zip/codec/traditional_encryption/encrypt/open_spec.rb
203
- - spec/archive/zip/codec/traditional_encryption/encrypt/rewind_spec.rb
204
- - spec/archive/zip/codec/traditional_encryption/encrypt/seek_spec.rb
205
- - spec/archive/zip/codec/traditional_encryption/encrypt/tell_spec.rb
206
- - spec/archive/zip/codec/traditional_encryption/encrypt/write_spec.rb
207
- - spec/archive/zip/codec/traditional_encryption/fixtures/classes.rb
208
- - spec/archive/zip/codec/traditional_encryption/fixtures/encrypted_file.bin
209
- - spec/archive/zip/codec/traditional_encryption/fixtures/raw_file.txt
210
- - spec/binary_stringio/new_spec.rb
211
- - spec/binary_stringio/set_encoding_spec.rb
212
- - spec/ioextensions/read_exactly_spec.rb
213
- - spec/zlib/fixtures/classes.rb
214
- - spec/zlib/fixtures/compressed_file.bin
215
- - spec/zlib/fixtures/compressed_file_gzip.bin
216
- - spec/zlib/fixtures/compressed_file_huffman.bin
217
- - spec/zlib/fixtures/compressed_file_minmem.bin
218
- - spec/zlib/fixtures/compressed_file_minwin.bin
219
- - spec/zlib/fixtures/compressed_file_nocomp.bin
220
- - spec/zlib/fixtures/compressed_file_raw.bin
221
- - spec/zlib/fixtures/raw_file.txt
222
- - spec/zlib/zreader/checksum_spec.rb
223
- - spec/zlib/zreader/close_spec.rb
224
- - spec/zlib/zreader/compressed_size_spec.rb
225
- - spec/zlib/zreader/new_spec.rb
226
- - spec/zlib/zreader/open_spec.rb
227
- - spec/zlib/zreader/read_spec.rb
228
- - spec/zlib/zreader/rewind_spec.rb
229
- - spec/zlib/zreader/seek_spec.rb
230
- - spec/zlib/zreader/tell_spec.rb
231
- - spec/zlib/zreader/uncompressed_size_spec.rb
232
- - spec/zlib/zwriter/checksum_spec.rb
233
- - spec/zlib/zwriter/close_spec.rb
234
- - spec/zlib/zwriter/compressed_size_spec.rb
235
- - spec/zlib/zwriter/new_spec.rb
236
- - spec/zlib/zwriter/open_spec.rb
237
- - spec/zlib/zwriter/rewind_spec.rb
238
- - spec/zlib/zwriter/seek_spec.rb
239
- - spec/zlib/zwriter/tell_spec.rb
240
- - spec/zlib/zwriter/uncompressed_size_spec.rb
241
- - spec/zlib/zwriter/write_spec.rb
242
155
  homepage: http://github.com/javanthropus/archive-zip
243
156
  licenses:
244
157
  - MIT
245
158
  metadata: {}
246
- post_install_message:
247
159
  rdoc_options: []
248
160
  require_paths:
249
161
  - lib
@@ -258,111 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
258
170
  - !ruby/object:Gem::Version
259
171
  version: '0'
260
172
  requirements: []
261
- rubyforge_project: archive-zip
262
- rubygems_version: 2.7.6
263
- signing_key:
173
+ rubygems_version: 3.6.2
264
174
  specification_version: 4
265
175
  summary: Simple, extensible, pure Ruby ZIP archive support.
266
- test_files:
267
- - spec/archive/dos_time_spec.rb
268
- - spec/archive/zip/archive_spec.rb
269
- - spec/archive/zip/codec/deflate/compress/checksum_spec.rb
270
- - spec/archive/zip/codec/deflate/compress/close_spec.rb
271
- - spec/archive/zip/codec/deflate/compress/crc32_spec.rb
272
- - spec/archive/zip/codec/deflate/compress/data_descriptor_spec.rb
273
- - spec/archive/zip/codec/deflate/compress/new_spec.rb
274
- - spec/archive/zip/codec/deflate/compress/open_spec.rb
275
- - spec/archive/zip/codec/deflate/compress/write_spec.rb
276
- - spec/archive/zip/codec/deflate/decompress/checksum_spec.rb
277
- - spec/archive/zip/codec/deflate/decompress/close_spec.rb
278
- - spec/archive/zip/codec/deflate/decompress/crc32_spec.rb
279
- - spec/archive/zip/codec/deflate/decompress/data_descriptor_spec.rb
280
- - spec/archive/zip/codec/deflate/decompress/new_spec.rb
281
- - spec/archive/zip/codec/deflate/decompress/open_spec.rb
282
- - spec/archive/zip/codec/deflate/fixtures/classes.rb
283
- - spec/archive/zip/codec/deflate/fixtures/compressed_file.bin
284
- - spec/archive/zip/codec/deflate/fixtures/compressed_file_nocomp.bin
285
- - spec/archive/zip/codec/deflate/fixtures/raw_file.txt
286
- - spec/archive/zip/codec/null_encryption/decrypt/close_spec.rb
287
- - spec/archive/zip/codec/null_encryption/decrypt/new_spec.rb
288
- - spec/archive/zip/codec/null_encryption/decrypt/open_spec.rb
289
- - spec/archive/zip/codec/null_encryption/decrypt/read_spec.rb
290
- - spec/archive/zip/codec/null_encryption/decrypt/rewind_spec.rb
291
- - spec/archive/zip/codec/null_encryption/decrypt/seek_spec.rb
292
- - spec/archive/zip/codec/null_encryption/decrypt/tell_spec.rb
293
- - spec/archive/zip/codec/null_encryption/encrypt/close_spec.rb
294
- - spec/archive/zip/codec/null_encryption/encrypt/new_spec.rb
295
- - spec/archive/zip/codec/null_encryption/encrypt/open_spec.rb
296
- - spec/archive/zip/codec/null_encryption/encrypt/rewind_spec.rb
297
- - spec/archive/zip/codec/null_encryption/encrypt/seek_spec.rb
298
- - spec/archive/zip/codec/null_encryption/encrypt/tell_spec.rb
299
- - spec/archive/zip/codec/null_encryption/encrypt/write_spec.rb
300
- - spec/archive/zip/codec/null_encryption/fixtures/classes.rb
301
- - spec/archive/zip/codec/null_encryption/fixtures/raw_file.txt
302
- - spec/archive/zip/codec/store/compress/close_spec.rb
303
- - spec/archive/zip/codec/store/compress/data_descriptor_spec.rb
304
- - spec/archive/zip/codec/store/compress/new_spec.rb
305
- - spec/archive/zip/codec/store/compress/open_spec.rb
306
- - spec/archive/zip/codec/store/compress/rewind_spec.rb
307
- - spec/archive/zip/codec/store/compress/seek_spec.rb
308
- - spec/archive/zip/codec/store/compress/tell_spec.rb
309
- - spec/archive/zip/codec/store/compress/write_spec.rb
310
- - spec/archive/zip/codec/store/decompress/close_spec.rb
311
- - spec/archive/zip/codec/store/decompress/data_descriptor_spec.rb
312
- - spec/archive/zip/codec/store/decompress/new_spec.rb
313
- - spec/archive/zip/codec/store/decompress/open_spec.rb
314
- - spec/archive/zip/codec/store/decompress/read_spec.rb
315
- - spec/archive/zip/codec/store/decompress/rewind_spec.rb
316
- - spec/archive/zip/codec/store/decompress/seek_spec.rb
317
- - spec/archive/zip/codec/store/decompress/tell_spec.rb
318
- - spec/archive/zip/codec/store/fixtures/classes.rb
319
- - spec/archive/zip/codec/store/fixtures/raw_file.txt
320
- - spec/archive/zip/codec/traditional_encryption/decrypt/close_spec.rb
321
- - spec/archive/zip/codec/traditional_encryption/decrypt/new_spec.rb
322
- - spec/archive/zip/codec/traditional_encryption/decrypt/open_spec.rb
323
- - spec/archive/zip/codec/traditional_encryption/decrypt/read_spec.rb
324
- - spec/archive/zip/codec/traditional_encryption/decrypt/rewind_spec.rb
325
- - spec/archive/zip/codec/traditional_encryption/decrypt/seek_spec.rb
326
- - spec/archive/zip/codec/traditional_encryption/decrypt/tell_spec.rb
327
- - spec/archive/zip/codec/traditional_encryption/encrypt/close_spec.rb
328
- - spec/archive/zip/codec/traditional_encryption/encrypt/new_spec.rb
329
- - spec/archive/zip/codec/traditional_encryption/encrypt/open_spec.rb
330
- - spec/archive/zip/codec/traditional_encryption/encrypt/rewind_spec.rb
331
- - spec/archive/zip/codec/traditional_encryption/encrypt/seek_spec.rb
332
- - spec/archive/zip/codec/traditional_encryption/encrypt/tell_spec.rb
333
- - spec/archive/zip/codec/traditional_encryption/encrypt/write_spec.rb
334
- - spec/archive/zip/codec/traditional_encryption/fixtures/classes.rb
335
- - spec/archive/zip/codec/traditional_encryption/fixtures/encrypted_file.bin
336
- - spec/archive/zip/codec/traditional_encryption/fixtures/raw_file.txt
337
- - spec/binary_stringio/new_spec.rb
338
- - spec/binary_stringio/set_encoding_spec.rb
339
- - spec/ioextensions/read_exactly_spec.rb
340
- - spec/zlib/fixtures/classes.rb
341
- - spec/zlib/fixtures/compressed_file.bin
342
- - spec/zlib/fixtures/compressed_file_gzip.bin
343
- - spec/zlib/fixtures/compressed_file_huffman.bin
344
- - spec/zlib/fixtures/compressed_file_minmem.bin
345
- - spec/zlib/fixtures/compressed_file_minwin.bin
346
- - spec/zlib/fixtures/compressed_file_nocomp.bin
347
- - spec/zlib/fixtures/compressed_file_raw.bin
348
- - spec/zlib/fixtures/raw_file.txt
349
- - spec/zlib/zreader/checksum_spec.rb
350
- - spec/zlib/zreader/close_spec.rb
351
- - spec/zlib/zreader/compressed_size_spec.rb
352
- - spec/zlib/zreader/new_spec.rb
353
- - spec/zlib/zreader/open_spec.rb
354
- - spec/zlib/zreader/read_spec.rb
355
- - spec/zlib/zreader/rewind_spec.rb
356
- - spec/zlib/zreader/seek_spec.rb
357
- - spec/zlib/zreader/tell_spec.rb
358
- - spec/zlib/zreader/uncompressed_size_spec.rb
359
- - spec/zlib/zwriter/checksum_spec.rb
360
- - spec/zlib/zwriter/close_spec.rb
361
- - spec/zlib/zwriter/compressed_size_spec.rb
362
- - spec/zlib/zwriter/new_spec.rb
363
- - spec/zlib/zwriter/open_spec.rb
364
- - spec/zlib/zwriter/rewind_spec.rb
365
- - spec/zlib/zwriter/seek_spec.rb
366
- - spec/zlib/zwriter/tell_spec.rb
367
- - spec/zlib/zwriter/uncompressed_size_spec.rb
368
- - spec/zlib/zwriter/write_spec.rb
176
+ test_files: []
data/.yardopts DELETED
@@ -1 +0,0 @@
1
- --protected --private --main README.md lib/**/*.rb - NEWS.md LICENSE
data/Rakefile DELETED
@@ -1,247 +0,0 @@
1
- # encoding: UTF-8
2
- # -*- ruby -*-
3
-
4
- require 'rubygems'
5
-
6
- require 'erb'
7
- require 'rake/testtask'
8
- require 'rubygems/package_task'
9
- require 'rake/clean'
10
- require 'yard'
11
-
12
- # Load the gemspec file for this project.
13
- GEMSPEC = Dir['*.gemspec'].first
14
- SPEC = eval(File.read(GEMSPEC), nil, GEMSPEC)
15
-
16
- # The path to the version.rb file and a string to eval to find the version.
17
- VERSION_RB = "lib/#{SPEC.name.gsub('-', '/')}/version.rb"
18
- VERSION_REF =
19
- SPEC.name.split('-').map do |subname|
20
- subname.split('_').map(&:capitalize).join
21
- end.join('::') + "::VERSION"
22
-
23
- # A dynamically generated list of files that should match the manifest (the
24
- # combined contents of SPEC.files and SPEC.test_files). The idea is for this
25
- # list to contain all project files except for those that have been explicitly
26
- # excluded. This list will be compared with the manifest from the SPEC in order
27
- # to help catch the addition or removal of files to or from the project that
28
- # have not been accounted for either by an exclusion here or an inclusion in the
29
- # SPEC manifest.
30
- #
31
- # NOTE:
32
- # It is critical that the manifest is *not* automatically generated via globbing
33
- # and the like; otherwise, this will yield a simple comparison between
34
- # redundantly generated lists of files that probably will not protect the
35
- # project from the unintentional inclusion or exclusion of files in the
36
- # distribution.
37
- PKG_FILES = FileList.new(Dir.glob('**/*', File::FNM_DOTMATCH)) do |files|
38
- # Exclude anything that doesn't exist as well as directories.
39
- files.exclude {|file| ! File.exist?(file) || File.directory?(file)}
40
- # Exclude Git administrative files.
41
- files.exclude(%r{(^|[/\\])\.git(ignore|modules|keep)?([/\\]|$)})
42
- # Exclude editor swap/temporary files.
43
- files.exclude('**/.*.sw?')
44
- # Exclude gemspec files.
45
- files.exclude('*.gemspec')
46
- # Exclude the README template file.
47
- files.exclude('README.md.erb')
48
- # Exclude resources for bundler.
49
- files.exclude('Gemfile', 'Gemfile.lock')
50
- files.exclude(%r{^.bundle([/\\]|$)})
51
- files.exclude(%r{^vendor/bundle([/\\]|$)})
52
- # Exclude generated content, except for the README file.
53
- files.exclude(%r{^(pkg|doc|.yardoc)([/\\]|$)})
54
- # Exclude Rubinius compiled Ruby files.
55
- files.exclude('**/*.rbc')
56
- files.exclude('.rbx/**/*')
57
- end
58
-
59
- # Make sure that :clean and :clobber will not whack the repository files.
60
- CLEAN.exclude('.git/**')
61
- # Vim swap files are fair game for clean up.
62
- CLEAN.include('**/.*.sw?')
63
-
64
- # Returns the value of the VERSION environment variable as a Gem::Version object
65
- # assuming it is set and a valid Gem version string. Otherwise, raises an
66
- # exception.
67
- def get_version_argument
68
- version = ENV['VERSION']
69
- if version.to_s.empty?
70
- raise "No version specified: Add VERSION=X.Y.Z to the command line"
71
- end
72
- begin
73
- Gem::Version.create(version.dup)
74
- rescue ArgumentError
75
- raise "Invalid version specified in `VERSION=#{version}'"
76
- end
77
- end
78
-
79
- # Performs an in place, per line edit of the file indicated by _path_ by calling
80
- # the sub method on each line and passing _pattern_, _replacement_, and _b_ as
81
- # arguments.
82
- def file_sub(path, pattern, replacement = nil, &b)
83
- tmp_path = "#{path}.tmp"
84
- File.open(path) do |infile|
85
- File.open(tmp_path, 'w') do |outfile|
86
- infile.each do |line|
87
- outfile.write(line.sub(pattern, replacement, &b))
88
- end
89
- end
90
- end
91
- File.rename(tmp_path, path)
92
- end
93
-
94
- # Updates the version string in the gemspec file and a version.rb file it to the
95
- # string in _version_.
96
- def set_version(version)
97
- file_sub(GEMSPEC, /(\.version\s*=\s*).*/, "\\1'#{version}'")
98
- file_sub(VERSION_RB, /^(\s*VERSION\s*=\s*).*/, "\\1'#{version}'")
99
- end
100
-
101
- # Returns a string that is line wrapped at word boundaries, where each line is
102
- # no longer than _line_width_ characters.
103
- #
104
- # This is mostly lifted directly from ActionView::Helpers::TextHelper.
105
- def word_wrap(text, line_width = 80)
106
- text.split("\n").collect do |line|
107
- line.length > line_width ?
108
- line.gsub(/(.{1,#{line_width}})(\s+|$)/, "\\1\n").strip :
109
- line
110
- end * "\n"
111
- end
112
-
113
- desc 'Alias for build:gem'
114
- task :build => 'build:gem'
115
-
116
- # Build related tasks.
117
- namespace :build do
118
- # Ensure that the manifest is consulted when building the gem. Any
119
- # generated/compiled files should be available at that time.
120
- task :gem => :check_manifest
121
-
122
- # Create the gem and package tasks.
123
- Gem::PackageTask.new(SPEC).define
124
-
125
- desc 'Verify the manifest'
126
- task :check_manifest do
127
- manifest_files = (SPEC.files + SPEC.test_files).sort.uniq
128
- pkg_files = PKG_FILES.sort.uniq
129
- if manifest_files != pkg_files then
130
- common_files = manifest_files & pkg_files
131
- manifest_files -= common_files
132
- pkg_files -= common_files
133
- message = ["The manifest does not match the automatic file list."]
134
- unless manifest_files.empty? then
135
- message << " Extraneous files:\n " + manifest_files.join("\n ")
136
- end
137
- unless pkg_files.empty?
138
- message << " Missing files:\n " + pkg_files.join("\n ")
139
- end
140
- raise message.join("\n")
141
- end
142
- end
143
-
144
- # Creates the README.md file from a template, the license file and the gemspec
145
- # contents.
146
- file 'README.md' => ['README.md.erb', 'LICENSE', GEMSPEC] do
147
- spec = SPEC
148
- File.open('README.md', 'w') do |readme|
149
- readme.write(
150
- ERB.new(File.read('README.md.erb'), nil, '-').result(binding)
151
- )
152
- end
153
- end
154
- end
155
-
156
- # Ensure that the clobber task also clobbers package files.
157
- task :clobber => 'build:clobber_package'
158
-
159
- # Create the documentation task.
160
- YARD::Rake::YardocTask.new
161
- # Ensure that the README file is (re)generated first.
162
- task :yard => 'README.md'
163
-
164
- # Gem related tasks.
165
- namespace :gem do
166
- desc 'Alias for build:gem'
167
- task :build => 'build:gem'
168
-
169
- desc 'Publish the gemfile'
170
- task :publish => ['version:check', :test, 'repo:tag', :build] do
171
- sh "gem push pkg/#{SPEC.name}-#{SPEC.version}*.gem"
172
- end
173
- end
174
-
175
- Rake::TestTask.new do |t|
176
- t.pattern = 'spec/**/*_spec.rb'
177
- end
178
-
179
- # Version string management tasks.
180
- namespace :version do
181
- desc 'Set the version for the project to a specified version'
182
- task :set do
183
- set_version(get_version_argument)
184
- end
185
-
186
- desc 'Set the version for the project back to 0.0.0'
187
- task :reset do
188
- set_version('0.0.0')
189
- end
190
-
191
- desc 'Check that all version strings are correctly set'
192
- task :check => ['version:check:spec', 'version:check:version_rb', 'version:check:news']
193
-
194
- namespace :check do
195
- desc 'Check that the version in the gemspec is correctly set'
196
- task :spec do
197
- version = get_version_argument
198
- if version != SPEC.version
199
- raise "The given version `#{version}' does not match the gemspec version `#{SPEC.version}'"
200
- end
201
- end
202
-
203
- desc 'Check that the version in the version.rb file is correctly set'
204
- task :version_rb do
205
- version = get_version_argument
206
- begin
207
- load VERSION_RB
208
- internal_version = Gem::Version.create(eval(VERSION_REF))
209
- if version != internal_version
210
- raise "The given version `#{version}' does not match the version.rb version `#{internal_version}'"
211
- end
212
- rescue ArgumentError
213
- raise "Invalid version specified in `#{VERSION_RB}'"
214
- end
215
- end
216
-
217
- desc 'Check that the NEWS.md file mentions the version'
218
- task :news do
219
- version = get_version_argument
220
- begin
221
- File.open('NEWS.md') do |news|
222
- unless news.each_line.any? {|l| l =~ /^## v#{Regexp.escape(version.to_s)} /}
223
- raise "The NEWS.md file does not mention version `#{version}'"
224
- end
225
- end
226
- rescue Errno::ENOENT
227
- raise 'No NEWS.md file found'
228
- end
229
- end
230
- end
231
- end
232
-
233
- # Repository and workspace management tasks.
234
- namespace :repo do
235
- desc 'Tag the current HEAD with the version string'
236
- task :tag => :check_workspace do
237
- version = get_version_argument
238
- sh "git tag -s -m 'Release v#{version}' v#{version}"
239
- end
240
-
241
- desc 'Ensure the workspace is fully committed and clean'
242
- task :check_workspace => ['README.md'] do
243
- unless `git status --untracked-files=all --porcelain`.empty?
244
- raise 'Workspace has been modified. Commit pending changes and try again.'
245
- end
246
- end
247
- end
@@ -1,30 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require 'stringio'
4
-
5
- # This class is a version of StringIO that always uses the binary encoding on
6
- # any Ruby platform that has a notion of encodings. On Ruby platforms without
7
- # encoding support, this class is equivalent to StringIO.
8
- class BinaryStringIO < StringIO
9
- # Creates a new instance of this class.
10
- #
11
- # This takes all the arguments of StringIO.new.
12
- def initialize(*args)
13
- super
14
-
15
- # Force a binary encoding when possible.
16
- if respond_to?(:set_encoding, true)
17
- @encoding_locked = false
18
- set_encoding('binary')
19
- end
20
- end
21
-
22
- if instance_methods.include?(:set_encoding)
23
- # Raise an exception on attempts to change the encoding.
24
- def set_encoding(*args)
25
- raise 'Changing encoding is not allowed' if @encoding_locked
26
- @encoding_locked = true
27
- super
28
- end
29
- end
30
- end
@@ -1,13 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- class Integer
4
- unless public_method_defined?('ord') then
5
- # Returns the int itself.
6
- #
7
- # This method is defined here only if not already defined elsewhere, such as
8
- # versions of Ruby prior to 1.8.7.
9
- def ord
10
- self
11
- end
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- # Try to first load io-like from rubygems and then fall back to assuming a
4
- # standard installation.
5
- begin
6
- require 'rubygems'
7
- gem 'io-like', '>= 0.3.0'
8
- rescue LoadError
9
- # Failed to load via rubygems.
10
- end
11
-
12
- # This will work for the gem and standard install assuming io-like is available
13
- # at all.
14
- require 'io/like'