zip-container 3.0.2 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Gemfile +1 -1
- data/Licence.rdoc +1 -1
- data/Rakefile +15 -12
- data/examples/create-zip-container +7 -8
- data/examples/zip-container-info +4 -4
- data/lib/zip-container/container.rb +5 -7
- data/lib/zip-container/dir.rb +8 -11
- data/lib/zip-container/entries/directory.rb +5 -5
- data/lib/zip-container/entries/entry.rb +19 -15
- data/lib/zip-container/entries/file.rb +10 -9
- data/lib/zip-container/entries/managed.rb +11 -11
- data/lib/zip-container/entries/reserved.rb +2 -2
- data/lib/zip-container/exceptions.rb +4 -2
- data/lib/zip-container/file.rb +16 -16
- data/lib/zip-container/util.rb +3 -3
- data/lib/zip-container/version.rb +4 -3
- data/version.yml +2 -2
- data/zip-container.gemspec +30 -27
- metadata +41 -83
- data/.gitignore +0 -9
- data/.ruby-env +0 -1
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.travis.yml +0 -19
- data/test/data/compressed_mimetype.container +0 -0
- data/test/data/dirs/dir-mimetype/mimetype/.gitkeep +0 -1
- data/test/data/dirs/empty/mimetype +0 -1
- data/test/data/dirs/managed/dir/.gitkeep +0 -0
- data/test/data/dirs/managed/greeting.txt +0 -1
- data/test/data/dirs/managed/mimetype +0 -1
- data/test/data/dirs/null/.gitkeep +0 -1
- data/test/data/empty.container +0 -0
- data/test/data/empty.zip +0 -0
- data/test/data/example.container +0 -0
- data/test/data/null.file +0 -0
- data/test/data/subclassed.container +0 -0
- data/test/helpers/entry_lists.rb +0 -35
- data/test/tc_create_dir.rb +0 -56
- data/test/tc_create_file.rb +0 -140
- data/test/tc_exceptions.rb +0 -105
- data/test/tc_managed_entries.rb +0 -446
- data/test/tc_read_dir.rb +0 -90
- data/test/tc_read_file.rb +0 -118
- data/test/tc_reserved_names.rb +0 -334
- data/test/tc_util.rb +0 -67
- data/test/ts_container.rb +0 -59
@@ -30,7 +30,7 @@
|
|
30
30
|
#
|
31
31
|
# Author: Robert Haines
|
32
32
|
|
33
|
-
|
33
|
+
##
|
34
34
|
module ZipContainer
|
35
35
|
|
36
36
|
# This module provides support for reserved names.
|
@@ -70,7 +70,7 @@ module ZipContainer
|
|
70
70
|
# Zip::Entry object can be passed in here.
|
71
71
|
def reserved_entry?(entry)
|
72
72
|
name = entry_name(entry)
|
73
|
-
reserved_names.map
|
73
|
+
reserved_names.map(&:downcase).include? name.downcase
|
74
74
|
end
|
75
75
|
|
76
76
|
protected
|
@@ -30,7 +30,7 @@
|
|
30
30
|
#
|
31
31
|
# Author: Robert Haines
|
32
32
|
|
33
|
-
|
33
|
+
##
|
34
34
|
module ZipContainer
|
35
35
|
|
36
36
|
# The base of all exceptions raised by this library.
|
@@ -43,6 +43,7 @@ module ZipContainer
|
|
43
43
|
|
44
44
|
# This exception is raised when a bad Container is detected.
|
45
45
|
class MalformedContainerError < RuntimeError
|
46
|
+
|
46
47
|
include Error
|
47
48
|
|
48
49
|
# :call-seq:
|
@@ -54,7 +55,7 @@ module ZipContainer
|
|
54
55
|
# reasons for why the Container is malformed.
|
55
56
|
def initialize(reason = nil)
|
56
57
|
if reason.nil? || reason.empty?
|
57
|
-
super(
|
58
|
+
super('Malformed Container.')
|
58
59
|
elsif reason.is_a?(Array)
|
59
60
|
reasons = reason.map { |r| " * #{r}\n" }
|
60
61
|
super("Malformed Container:\n#{reasons}")
|
@@ -67,6 +68,7 @@ module ZipContainer
|
|
67
68
|
# This exception is raised when a clash occurs with a reserved or managed
|
68
69
|
# name.
|
69
70
|
class ReservedNameClashError < RuntimeError
|
71
|
+
|
70
72
|
include Error
|
71
73
|
|
72
74
|
# :call-seq:
|
data/lib/zip-container/file.rb
CHANGED
@@ -49,7 +49,7 @@ module ZipContainer
|
|
49
49
|
|
50
50
|
extend Forwardable
|
51
51
|
def_delegators :@container, :comment, :comment=, :commit_required?, :each,
|
52
|
-
|
52
|
+
:entries, :extract, :get_input_stream, :name, :read, :size
|
53
53
|
|
54
54
|
private_class_method :new
|
55
55
|
|
@@ -74,7 +74,7 @@ module ZipContainer
|
|
74
74
|
# File.create(filename, mimetype) {|container| ...}
|
75
75
|
#
|
76
76
|
# Create a new ZipContainer file on disk with the specified mimetype.
|
77
|
-
def self.create(filename, mimetype
|
77
|
+
def self.create(filename, mimetype)
|
78
78
|
::Zip::OutputStream.open(filename) do |stream|
|
79
79
|
stream.put_next_entry(MIMETYPE_FILE, nil, nil, ::Zip::Entry::STORED)
|
80
80
|
stream.write mimetype
|
@@ -127,7 +127,7 @@ module ZipContainer
|
|
127
127
|
# +continue_on_exists_proc+ parameter.
|
128
128
|
def add(entry, src_path, &continue_on_exists_proc)
|
129
129
|
if reserved_entry?(entry) || managed_directory?(entry)
|
130
|
-
raise ReservedNameClashError
|
130
|
+
raise ReservedNameClashError, entry.to_s
|
131
131
|
end
|
132
132
|
|
133
133
|
@container.add(entry, src_path, &continue_on_exists_proc)
|
@@ -143,12 +143,10 @@ module ZipContainer
|
|
143
143
|
def commit
|
144
144
|
return false unless commit_required?
|
145
145
|
|
146
|
-
if on_disk?
|
147
|
-
@container.commit
|
148
|
-
end
|
146
|
+
@container.commit if on_disk?
|
149
147
|
end
|
150
148
|
|
151
|
-
alias
|
149
|
+
alias close commit
|
152
150
|
|
153
151
|
# :call-seq:
|
154
152
|
# dir -> Zip::ZipFsDir
|
@@ -182,7 +180,7 @@ module ZipContainer
|
|
182
180
|
# can specify <tt>:include_hidden => true</tt> to include hidden entries
|
183
181
|
# in the search.
|
184
182
|
def find_entry(entry_name, options = {})
|
185
|
-
options = {:
|
183
|
+
options = { include_hidden: false }.merge(options)
|
186
184
|
|
187
185
|
unless options[:include_hidden]
|
188
186
|
return if hidden_entry?(entry_name)
|
@@ -199,7 +197,7 @@ module ZipContainer
|
|
199
197
|
# can specify <tt>:include_hidden => true</tt> to include hidden entries
|
200
198
|
# in the search.
|
201
199
|
def get_entry(entry, options = {})
|
202
|
-
options = {:
|
200
|
+
options = { include_hidden: false }.merge(options)
|
203
201
|
|
204
202
|
unless options[:include_hidden]
|
205
203
|
raise Errno::ENOENT, entry if hidden_entry?(entry)
|
@@ -220,7 +218,7 @@ module ZipContainer
|
|
220
218
|
# parameter.
|
221
219
|
def get_output_stream(entry, permission = nil, &block)
|
222
220
|
if reserved_entry?(entry) || managed_directory?(entry)
|
223
|
-
raise ReservedNameClashError
|
221
|
+
raise ReservedNameClashError, entry.to_s
|
224
222
|
end
|
225
223
|
|
226
224
|
@container.get_output_stream(entry, permission, &block)
|
@@ -240,9 +238,9 @@ module ZipContainer
|
|
240
238
|
# <tt>::File::FNM_PATHNAME | ::File::FNM_DOTMATCH</tt>
|
241
239
|
# * +options+ - <tt>:include_hidden => true</tt> will include hidden
|
242
240
|
# entries in the search.
|
243
|
-
def glob(pattern, *params
|
241
|
+
def glob(pattern, *params)
|
244
242
|
flags = ::File::FNM_PATHNAME | ::File::FNM_DOTMATCH
|
245
|
-
options = { :
|
243
|
+
options = { include_hidden: false }
|
246
244
|
|
247
245
|
params.each do |param|
|
248
246
|
case param
|
@@ -256,6 +254,7 @@ module ZipContainer
|
|
256
254
|
entries.map do |entry|
|
257
255
|
next if !options[:include_hidden] && hidden_entry?(entry)
|
258
256
|
next unless ::File.fnmatch(pattern, entry.name.chomp('/'), flags)
|
257
|
+
|
259
258
|
yield(entry) if block_given?
|
260
259
|
entry
|
261
260
|
end.compact
|
@@ -279,9 +278,9 @@ module ZipContainer
|
|
279
278
|
# The new directory will be created with the supplied unix-style
|
280
279
|
# permissions. The default (+0755+) is owner read, write and list; group
|
281
280
|
# read and list; and world read and list.
|
282
|
-
def mkdir(name, permission =
|
281
|
+
def mkdir(name, permission = 0o0755)
|
283
282
|
if reserved_entry?(name) || managed_file?(name)
|
284
|
-
raise ReservedNameClashError
|
283
|
+
raise ReservedNameClashError, name
|
285
284
|
end
|
286
285
|
|
287
286
|
@container.mkdir(name, permission)
|
@@ -303,6 +302,7 @@ module ZipContainer
|
|
303
302
|
# method will do nothing.
|
304
303
|
def remove(entry)
|
305
304
|
return if reserved_entry?(entry)
|
305
|
+
|
306
306
|
@container.remove(entry)
|
307
307
|
end
|
308
308
|
|
@@ -318,7 +318,7 @@ module ZipContainer
|
|
318
318
|
# +continue_on_exists_proc+ parameter.
|
319
319
|
def rename(entry, new_name, &continue_on_exists_proc)
|
320
320
|
return if reserved_entry?(entry)
|
321
|
-
raise ReservedNameClashError
|
321
|
+
raise ReservedNameClashError, new_name if reserved_entry?(new_name)
|
322
322
|
|
323
323
|
@container.rename(entry, new_name, &continue_on_exists_proc)
|
324
324
|
end
|
@@ -332,6 +332,7 @@ module ZipContainer
|
|
332
332
|
# nothing.
|
333
333
|
def replace(entry, src_path)
|
334
334
|
return if reserved_entry?(entry)
|
335
|
+
|
335
336
|
@container.replace(entry, src_path)
|
336
337
|
end
|
337
338
|
|
@@ -479,6 +480,5 @@ module ZipContainer
|
|
479
480
|
# size -> int
|
480
481
|
#
|
481
482
|
# Returns the number of entries in the ZipContainer file.
|
482
|
-
|
483
483
|
end
|
484
484
|
end
|
data/lib/zip-container/util.rb
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
#
|
31
31
|
# Author: Robert Haines
|
32
32
|
|
33
|
-
|
33
|
+
##
|
34
34
|
module ZipContainer
|
35
35
|
|
36
36
|
# Utility methods useful throughout the rest of the ZipContainer library.
|
@@ -46,10 +46,10 @@ module ZipContainer
|
|
46
46
|
# In common with rubyzip this method also removes a trailing slash (/)
|
47
47
|
# from a name if it can.
|
48
48
|
def entry_name(entry)
|
49
|
-
name = entry.
|
49
|
+
name = entry.is_a?(::Zip::Entry) ? entry.name : entry
|
50
50
|
|
51
51
|
if name.respond_to?(:end_with?) && name.respond_to?(:chop!)
|
52
|
-
name.chop! if name.end_with?(
|
52
|
+
name.chop! if name.end_with?('/')
|
53
53
|
end
|
54
54
|
|
55
55
|
name
|
@@ -37,10 +37,11 @@ module ZipContainer
|
|
37
37
|
# Library version information.
|
38
38
|
module Version
|
39
39
|
# Version information in a Hash
|
40
|
-
INFO = YAML.load_file(
|
41
|
-
|
40
|
+
INFO = YAML.load_file(
|
41
|
+
File.join(File.dirname(__FILE__), '..', '..', 'version.yml')
|
42
|
+
)
|
42
43
|
|
43
44
|
# Version number as a String
|
44
|
-
STRING = [
|
45
|
+
STRING = %i[major minor patch].map { |d| INFO[d] }.compact.join('.')
|
45
46
|
end
|
46
47
|
end
|
data/version.yml
CHANGED
data/zip-container.gemspec
CHANGED
@@ -30,35 +30,38 @@
|
|
30
30
|
#
|
31
31
|
# Author: Robert Haines
|
32
32
|
|
33
|
-
lib = File.expand_path('
|
33
|
+
lib = File.expand_path('lib', __dir__)
|
34
34
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
35
|
-
require
|
35
|
+
require 'zip-container/version'
|
36
36
|
|
37
37
|
Gem::Specification.new do |s|
|
38
|
-
s.name =
|
38
|
+
s.name = 'zip-container'
|
39
39
|
s.version = ZipContainer::Version::STRING
|
40
|
-
s.authors = [
|
41
|
-
s.email = [
|
42
|
-
|
43
|
-
s.
|
44
|
-
s.summary =
|
45
|
-
s.description =
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
s.license =
|
51
|
-
|
52
|
-
s.
|
53
|
-
s.
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
s.required_ruby_version =
|
58
|
-
|
59
|
-
s.
|
60
|
-
|
61
|
-
s.add_development_dependency
|
62
|
-
s.add_development_dependency
|
63
|
-
s.
|
40
|
+
s.authors = ['Robert Haines', 'Finn Bacall']
|
41
|
+
s.email = ['support@mygrid.org.uk']
|
42
|
+
|
43
|
+
s.homepage = 'http://mygrid.github.io/ruby-zip-container/'
|
44
|
+
s.summary = 'A ZIP Container for use by OCF and UCF implementations'
|
45
|
+
s.description = 'A Ruby library for working with ZIP Container '\
|
46
|
+
'Format files. See http://www.idpf.org/epub/30/spec/epub30-ocf.html for '\
|
47
|
+
'the OCF specification and '\
|
48
|
+
'https://learn.adobe.com/wiki/display/PDFNAV/Universal+Container+Format '\
|
49
|
+
'for the UCF specification.'
|
50
|
+
s.license = 'BSD'
|
51
|
+
|
52
|
+
s.require_path = 'lib'
|
53
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
54
|
+
f.match(%r{^((test|spec|features)/|\.)})
|
55
|
+
end
|
56
|
+
|
57
|
+
s.required_ruby_version = '>= 2.2.0'
|
58
|
+
|
59
|
+
s.add_runtime_dependency 'rubyzip', '~> 1.3.0'
|
60
|
+
|
61
|
+
s.add_development_dependency 'bundler', '~> 1.16'
|
62
|
+
s.add_development_dependency 'coveralls', '~> 0.8'
|
63
|
+
s.add_development_dependency 'rake', '~> 10.1'
|
64
|
+
s.add_development_dependency 'rdoc', '~> 4.1'
|
65
|
+
s.add_development_dependency 'rubocop', '~> 0.59'
|
66
|
+
s.add_development_dependency 'test-unit', '~> 3.0'
|
64
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zip-container
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Haines
|
@@ -9,92 +9,106 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-11-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rubyzip
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.3.0
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.3.0
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: bundler
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
17
31
|
requirements:
|
18
32
|
- - "~>"
|
19
33
|
- !ruby/object:Gem::Version
|
20
|
-
version: '1.
|
34
|
+
version: '1.16'
|
21
35
|
type: :development
|
22
36
|
prerelease: false
|
23
37
|
version_requirements: !ruby/object:Gem::Requirement
|
24
38
|
requirements:
|
25
39
|
- - "~>"
|
26
40
|
- !ruby/object:Gem::Version
|
27
|
-
version: '1.
|
41
|
+
version: '1.16'
|
28
42
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
43
|
+
name: coveralls
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
31
45
|
requirements:
|
32
46
|
- - "~>"
|
33
47
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
48
|
+
version: '0.8'
|
35
49
|
type: :development
|
36
50
|
prerelease: false
|
37
51
|
version_requirements: !ruby/object:Gem::Requirement
|
38
52
|
requirements:
|
39
53
|
- - "~>"
|
40
54
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
55
|
+
version: '0.8'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
57
|
+
name: rake
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
60
|
- - "~>"
|
47
61
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
62
|
+
version: '10.1'
|
49
63
|
type: :development
|
50
64
|
prerelease: false
|
51
65
|
version_requirements: !ruby/object:Gem::Requirement
|
52
66
|
requirements:
|
53
67
|
- - "~>"
|
54
68
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
69
|
+
version: '10.1'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
71
|
+
name: rdoc
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
59
73
|
requirements:
|
60
74
|
- - "~>"
|
61
75
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
76
|
+
version: '4.1'
|
63
77
|
type: :development
|
64
78
|
prerelease: false
|
65
79
|
version_requirements: !ruby/object:Gem::Requirement
|
66
80
|
requirements:
|
67
81
|
- - "~>"
|
68
82
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
83
|
+
version: '4.1'
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
85
|
+
name: rubocop
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
|
-
- - "
|
88
|
+
- - "~>"
|
75
89
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
90
|
+
version: '0.59'
|
77
91
|
type: :development
|
78
92
|
prerelease: false
|
79
93
|
version_requirements: !ruby/object:Gem::Requirement
|
80
94
|
requirements:
|
81
|
-
- - "
|
95
|
+
- - "~>"
|
82
96
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
97
|
+
version: '0.59'
|
84
98
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
99
|
+
name: test-unit
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
87
101
|
requirements:
|
88
102
|
- - "~>"
|
89
103
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
91
|
-
type: :
|
104
|
+
version: '3.0'
|
105
|
+
type: :development
|
92
106
|
prerelease: false
|
93
107
|
version_requirements: !ruby/object:Gem::Requirement
|
94
108
|
requirements:
|
95
109
|
- - "~>"
|
96
110
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
111
|
+
version: '3.0'
|
98
112
|
description: A Ruby library for working with ZIP Container Format files. See http://www.idpf.org/epub/30/spec/epub30-ocf.html
|
99
113
|
for the OCF specification and https://learn.adobe.com/wiki/display/PDFNAV/Universal+Container+Format
|
100
114
|
for the UCF specification.
|
@@ -102,16 +116,8 @@ email:
|
|
102
116
|
- support@mygrid.org.uk
|
103
117
|
executables: []
|
104
118
|
extensions: []
|
105
|
-
extra_rdoc_files:
|
106
|
-
- Changes.rdoc
|
107
|
-
- Licence.rdoc
|
108
|
-
- ReadMe.rdoc
|
119
|
+
extra_rdoc_files: []
|
109
120
|
files:
|
110
|
-
- ".gitignore"
|
111
|
-
- ".ruby-env"
|
112
|
-
- ".ruby-gemset"
|
113
|
-
- ".ruby-version"
|
114
|
-
- ".travis.yml"
|
115
121
|
- Changes.rdoc
|
116
122
|
- Gemfile
|
117
123
|
- Licence.rdoc
|
@@ -132,28 +138,6 @@ files:
|
|
132
138
|
- lib/zip-container/file.rb
|
133
139
|
- lib/zip-container/util.rb
|
134
140
|
- lib/zip-container/version.rb
|
135
|
-
- test/data/compressed_mimetype.container
|
136
|
-
- test/data/dirs/dir-mimetype/mimetype/.gitkeep
|
137
|
-
- test/data/dirs/empty/mimetype
|
138
|
-
- test/data/dirs/managed/dir/.gitkeep
|
139
|
-
- test/data/dirs/managed/greeting.txt
|
140
|
-
- test/data/dirs/managed/mimetype
|
141
|
-
- test/data/dirs/null/.gitkeep
|
142
|
-
- test/data/empty.container
|
143
|
-
- test/data/empty.zip
|
144
|
-
- test/data/example.container
|
145
|
-
- test/data/null.file
|
146
|
-
- test/data/subclassed.container
|
147
|
-
- test/helpers/entry_lists.rb
|
148
|
-
- test/tc_create_dir.rb
|
149
|
-
- test/tc_create_file.rb
|
150
|
-
- test/tc_exceptions.rb
|
151
|
-
- test/tc_managed_entries.rb
|
152
|
-
- test/tc_read_dir.rb
|
153
|
-
- test/tc_read_file.rb
|
154
|
-
- test/tc_reserved_names.rb
|
155
|
-
- test/tc_util.rb
|
156
|
-
- test/ts_container.rb
|
157
141
|
- version.yml
|
158
142
|
- zip-container.gemspec
|
159
143
|
homepage: http://mygrid.github.io/ruby-zip-container/
|
@@ -161,48 +145,22 @@ licenses:
|
|
161
145
|
- BSD
|
162
146
|
metadata: {}
|
163
147
|
post_install_message:
|
164
|
-
rdoc_options:
|
165
|
-
- "-N"
|
166
|
-
- "--tab-width=2"
|
167
|
-
- "--main=ReadMe.rdoc"
|
148
|
+
rdoc_options: []
|
168
149
|
require_paths:
|
169
150
|
- lib
|
170
151
|
required_ruby_version: !ruby/object:Gem::Requirement
|
171
152
|
requirements:
|
172
153
|
- - ">="
|
173
154
|
- !ruby/object:Gem::Version
|
174
|
-
version:
|
155
|
+
version: 2.2.0
|
175
156
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
157
|
requirements:
|
177
158
|
- - ">="
|
178
159
|
- !ruby/object:Gem::Version
|
179
160
|
version: '0'
|
180
161
|
requirements: []
|
181
|
-
|
182
|
-
rubygems_version: 2.4.8
|
162
|
+
rubygems_version: 3.0.6
|
183
163
|
signing_key:
|
184
164
|
specification_version: 4
|
185
165
|
summary: A ZIP Container for use by OCF and UCF implementations
|
186
|
-
test_files:
|
187
|
-
- test/data/compressed_mimetype.container
|
188
|
-
- test/data/dirs/dir-mimetype/mimetype/.gitkeep
|
189
|
-
- test/data/dirs/empty/mimetype
|
190
|
-
- test/data/dirs/managed/dir/.gitkeep
|
191
|
-
- test/data/dirs/managed/greeting.txt
|
192
|
-
- test/data/dirs/managed/mimetype
|
193
|
-
- test/data/dirs/null/.gitkeep
|
194
|
-
- test/data/empty.container
|
195
|
-
- test/data/empty.zip
|
196
|
-
- test/data/example.container
|
197
|
-
- test/data/null.file
|
198
|
-
- test/data/subclassed.container
|
199
|
-
- test/helpers/entry_lists.rb
|
200
|
-
- test/tc_create_dir.rb
|
201
|
-
- test/tc_create_file.rb
|
202
|
-
- test/tc_exceptions.rb
|
203
|
-
- test/tc_managed_entries.rb
|
204
|
-
- test/tc_read_dir.rb
|
205
|
-
- test/tc_read_file.rb
|
206
|
-
- test/tc_reserved_names.rb
|
207
|
-
- test/tc_util.rb
|
208
|
-
- test/ts_container.rb
|
166
|
+
test_files: []
|