ucf 1.0.0 → 1.1.0
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 +8 -8
- data/.ruby-env +1 -0
- data/.travis.yml +7 -1
- data/Changes.rdoc +10 -0
- data/ReadMe.rdoc +3 -6
- data/lib/ucf.rb +1 -0
- data/lib/ucf/dir.rb +83 -0
- data/test/data/dirs/empty/mimetype +1 -0
- data/test/data/dirs/managed/greeting.txt +1 -0
- data/test/data/dirs/managed/mimetype +1 -0
- data/test/data/dirs/null/.gitkeep +1 -0
- data/test/{tc_create.rb → tc_create_file.rb} +4 -16
- data/test/tc_managed_entries.rb +24 -0
- data/test/tc_read_dir.rb +56 -0
- data/test/{tc_read.rb → tc_read_file.rb} +1 -1
- data/test/ts_ucf.rb +7 -3
- data/ucf.gemspec +15 -14
- data/version.yml +1 -1
- metadata +38 -12
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZTcxNDgzZjJjNmQ1ZTg2ZmE5OTdhMGE2M2Y1YmVlZTdhNzc2MmVkMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Zjc0YjZkMmVmYTU4NzAwMDA5NzNhNzQ2ZmRmNjEyNjAyOTg4MmZlNQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzNiM2ViNGEwZWJjZmMyN2JjM2I1NjZlMWU1ZjY0OWFhNjMzODM5ZWJiNTU5
|
10
|
+
ZGVhMTU0M2FiNWZjMzhiYzE0OGYzMTU2NTY1ZTEzNjA3MzI2YmVhOTgzNmUy
|
11
|
+
YjVjNGQxZTJhM2NiYjU2YmRlNTU4Y2Q0ZDQ2YTUzOTc1OGIzNWE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTExMjM0OGYyNWJhZGE2OWM4MDg4ZjMzMzAyM2I0N2YzMTNiMmI1NDkxZWFj
|
14
|
+
OWFlNjA0M2YyMjY0YTVmY2ZlOWM0MTQ5YTkxMGM0OGIwNzNmMTg4ODI4YmI1
|
15
|
+
NTcyYWZjY2E0NjM5NjUyZmFhMzAxNGRiOGNlOWUzMjU1ZmNjOWU=
|
data/.ruby-env
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
RUBYLIB=./lib:../lib
|
data/.travis.yml
CHANGED
data/Changes.rdoc
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
= Changes log for the UCF Ruby Gem
|
2
2
|
|
3
|
+
== Version 1.1.0
|
4
|
+
|
5
|
+
* Tidy up gemspec and update dependency versions.
|
6
|
+
* Add test-unit to the deps so we can test in ruby 2.2.
|
7
|
+
* Setup gem caching for Travis.
|
8
|
+
* Test using ruby 2.1.5 in Travis.
|
9
|
+
* Disambiguate the create and read test names.
|
10
|
+
* Update zip-container dependency to 2.2.
|
11
|
+
* Add the UCF::Dir class to create exploded containers.
|
12
|
+
|
3
13
|
== Version 1.0.0
|
4
14
|
|
5
15
|
* Rename UCF::Container to UCF::File.
|
data/ReadMe.rdoc
CHANGED
@@ -19,12 +19,6 @@ This is a Ruby library for working with UCF documents. See
|
|
19
19
|
for more details. UCF is a type of EPUB and very similar to the
|
20
20
|
{EPUB Open Container Format (OCF)}[http://www.idpf.org/epub/30/spec/epub30-ocf.html].
|
21
21
|
|
22
|
-
<b>This library is a work in progress!</b> Until we release version 1.0.0 you
|
23
|
-
can expect the API to change in incompatible ways, although we will try to
|
24
|
-
keep this to an absolute minimum. Once version 1.0.0 is released we will be
|
25
|
-
following the principles of {Semantic Versioning}[http://semver.org/] for our
|
26
|
-
version numbering scheme.
|
27
|
-
|
28
22
|
Most of this library's API is provided by the underlying
|
29
23
|
{zip-container gem}[https://rubygems.org/gems/zip-container] so you will need
|
30
24
|
to consult
|
@@ -34,6 +28,9 @@ addition to this.
|
|
34
28
|
There are some examples of how to use the library provided in the examples
|
35
29
|
directory. See the contents of the tests directory for even more.
|
36
30
|
|
31
|
+
We follow the principles of {Semantic Versioning}[http://semver.org/] for our
|
32
|
+
releases.
|
33
|
+
|
37
34
|
== Files in the META-INF directory
|
38
35
|
|
39
36
|
The UCF specification requires that files in the META-INF directory are
|
data/lib/ucf.rb
CHANGED
data/lib/ucf/dir.rb
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
2
|
+
#
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions are met:
|
7
|
+
#
|
8
|
+
# * Redistributions of source code must retain the above copyright notice,
|
9
|
+
# this list of conditions and the following disclaimer.
|
10
|
+
#
|
11
|
+
# * Redistributions in binary form must reproduce the above copyright notice,
|
12
|
+
# this list of conditions and the following disclaimer in the documentation
|
13
|
+
# and/or other materials provided with the distribution.
|
14
|
+
#
|
15
|
+
# * Neither the names of The University of Manchester nor the names of its
|
16
|
+
# contributors may be used to endorse or promote products derived from this
|
17
|
+
# software without specific prior written permission.
|
18
|
+
#
|
19
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
20
|
+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
21
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
22
|
+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
23
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
24
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
25
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
26
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
27
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
29
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
#
|
31
|
+
# Author: Robert Haines
|
32
|
+
|
33
|
+
#
|
34
|
+
module UCF
|
35
|
+
|
36
|
+
# This class represents a UCF document - also known as an EPUB and very
|
37
|
+
# similar to the
|
38
|
+
# {EPUB Open Container Format (OCF)}[http://www.idpf.org/epub/30/spec/epub30-ocf.html].
|
39
|
+
# See the
|
40
|
+
# {UCF specification}[https://learn.adobe.com/wiki/display/PDFNAV/Universal+Container+Format]
|
41
|
+
# for more details.
|
42
|
+
#
|
43
|
+
# This class is a specialization of ZipContainer::Dir so you should see the
|
44
|
+
# {ZipContainer documentation}[http://mygrid.github.io/ruby-zip-container/]
|
45
|
+
# for much more information and a list of all the other methods available in
|
46
|
+
# this class. RDoc does not list inherited methods, unfortunately.
|
47
|
+
#
|
48
|
+
# There are code examples available with the source code of this library.
|
49
|
+
class Dir < ZipContainer::Dir
|
50
|
+
|
51
|
+
private_class_method :new
|
52
|
+
|
53
|
+
# :stopdoc:
|
54
|
+
DEFAULT_MIMETYPE = "application/epub+zip"
|
55
|
+
|
56
|
+
def initialize(filename)
|
57
|
+
super(filename)
|
58
|
+
|
59
|
+
# Initialize the managed entries and register the META-INF directory.
|
60
|
+
initialize_managed_entries(MetaInf.new)
|
61
|
+
end
|
62
|
+
# :startdoc:
|
63
|
+
|
64
|
+
# :call-seq:
|
65
|
+
# create(filename) -> UCF::Dir
|
66
|
+
# create(filename, mimetype) -> UCF::Dir
|
67
|
+
# create(filename) {|ucf| ...}
|
68
|
+
# create(filename, mimetype) {|ucf| ...}
|
69
|
+
#
|
70
|
+
# Create a new UCF document directory on disk and open it for editing. A
|
71
|
+
# custom mimetype for the container may be specified but if not the
|
72
|
+
# default, "application/epub+zip", will be used.
|
73
|
+
#
|
74
|
+
# Please see the
|
75
|
+
# {ZipContainer documentation}[http://mygrid.github.io/ruby-zip-container/]
|
76
|
+
# for much more information and a list of all the other methods available
|
77
|
+
# in this class. RDoc does not list inherited methods, unfortunately.
|
78
|
+
def self.create(filename, mimetype = DEFAULT_MIMETYPE, &block)
|
79
|
+
super(filename, mimetype, &block)
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
application/epub+zip
|
@@ -0,0 +1 @@
|
|
1
|
+
Hello, World!
|
@@ -0,0 +1 @@
|
|
1
|
+
application/epub+zip
|
@@ -0,0 +1 @@
|
|
1
|
+
This dir should be "empty", which in this case just means no "mimetype" file.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2013 The University of Manchester, UK.
|
1
|
+
# Copyright (c) 2013, 2014 The University of Manchester, UK.
|
2
2
|
#
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
@@ -34,7 +34,7 @@ require 'test/unit'
|
|
34
34
|
require 'tmpdir'
|
35
35
|
require 'ucf'
|
36
36
|
|
37
|
-
class
|
37
|
+
class TestCreateFile < Test::Unit::TestCase
|
38
38
|
|
39
39
|
# Check creation of standard empty ucf files.
|
40
40
|
def test_create_standard_file
|
@@ -46,13 +46,7 @@ class TestCreation < Test::Unit::TestCase
|
|
46
46
|
assert(c.on_disk?)
|
47
47
|
refute(c.in_memory?)
|
48
48
|
|
49
|
-
|
50
|
-
# uses the old version of the rubyzip API...
|
51
|
-
if Gem.loaded_specs["zip-container"].version < Gem::Version.create("1.0")
|
52
|
-
assert(c.find_entry("mimetype").localHeaderOffset == 0)
|
53
|
-
else
|
54
|
-
assert(c.find_entry("mimetype").local_header_offset == 0)
|
55
|
-
end
|
49
|
+
assert(c.find_entry("mimetype").local_header_offset == 0)
|
56
50
|
end
|
57
51
|
end
|
58
52
|
|
@@ -74,13 +68,7 @@ class TestCreation < Test::Unit::TestCase
|
|
74
68
|
assert(c.on_disk?)
|
75
69
|
refute(c.in_memory?)
|
76
70
|
|
77
|
-
|
78
|
-
# uses the old version of the rubyzip API...
|
79
|
-
if Gem.loaded_specs["zip-container"].version < Gem::Version.create("1.0")
|
80
|
-
assert(c.find_entry("mimetype").localHeaderOffset == 0)
|
81
|
-
else
|
82
|
-
assert(c.find_entry("mimetype").local_header_offset == 0)
|
83
|
-
end
|
71
|
+
assert(c.find_entry("mimetype").local_header_offset == 0)
|
84
72
|
|
85
73
|
assert_equal mimetype, c.read("mimetype")
|
86
74
|
end
|
data/test/tc_managed_entries.rb
CHANGED
@@ -79,6 +79,21 @@ class ExampleUCF2 < UCF::File
|
|
79
79
|
|
80
80
|
end
|
81
81
|
|
82
|
+
class ExampleUCFDir < UCF::Dir
|
83
|
+
|
84
|
+
private_class_method :new
|
85
|
+
|
86
|
+
def initialize(filename)
|
87
|
+
super(filename)
|
88
|
+
|
89
|
+
valid = Proc.new { |contents| contents.match(/[Hh]ello/) }
|
90
|
+
|
91
|
+
register_managed_entry(ZipContainer::ManagedFile.new("greeting.txt",
|
92
|
+
:required => true, :validation_proc => valid))
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
82
97
|
class TestManagedEntries < Test::Unit::TestCase
|
83
98
|
|
84
99
|
# Check that the example UCF document does not validate as a ManagedUCF.
|
@@ -108,6 +123,15 @@ class TestManagedEntries < Test::Unit::TestCase
|
|
108
123
|
end
|
109
124
|
end
|
110
125
|
|
126
|
+
# Check that the example UCF directory validates.
|
127
|
+
def test_pass_verification_dir
|
128
|
+
assert(ExampleUCFDir.verify($dir_mngd))
|
129
|
+
|
130
|
+
assert_nothing_raised(ZipContainer::MalformedContainerError) do
|
131
|
+
ExampleUCFDir.verify!($dir_mngd)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
111
135
|
# Check that a standard UCF Container can be created and things within it
|
112
136
|
# are verified correctly.
|
113
137
|
def test_create_standard_container
|
data/test/tc_read_dir.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
2
|
+
#
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions are met:
|
7
|
+
#
|
8
|
+
# * Redistributions of source code must retain the above copyright notice,
|
9
|
+
# this list of conditions and the following disclaimer.
|
10
|
+
#
|
11
|
+
# * Redistributions in binary form must reproduce the above copyright notice,
|
12
|
+
# this list of conditions and the following disclaimer in the documentation
|
13
|
+
# and/or other materials provided with the distribution.
|
14
|
+
#
|
15
|
+
# * Neither the names of The University of Manchester nor the names of its
|
16
|
+
# contributors may be used to endorse or promote products derived from this
|
17
|
+
# software without specific prior written permission.
|
18
|
+
#
|
19
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
20
|
+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
21
|
+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
22
|
+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
23
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
24
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
25
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
26
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
27
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
28
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
29
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
#
|
31
|
+
# Author: Robert Haines
|
32
|
+
|
33
|
+
require 'test/unit'
|
34
|
+
require 'ucf'
|
35
|
+
|
36
|
+
class TestReadDir < Test::Unit::TestCase
|
37
|
+
|
38
|
+
# Check that the empty directory does not verify.
|
39
|
+
def test_verify_empty_directory
|
40
|
+
assert_raise(ZipContainer::MalformedContainerError) do
|
41
|
+
UCF::Dir.verify!($dir_null)
|
42
|
+
end
|
43
|
+
|
44
|
+
refute(UCF::Dir.verify($dir_null))
|
45
|
+
end
|
46
|
+
|
47
|
+
# Check that the empty container directory does verify.
|
48
|
+
def test_verify_empty_container
|
49
|
+
assert_nothing_raised(ZipContainer::MalformedContainerError) do
|
50
|
+
UCF::Dir.verify!($dir_empty)
|
51
|
+
end
|
52
|
+
|
53
|
+
assert(UCF::Dir.verify($dir_empty))
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
data/test/ts_ucf.rb
CHANGED
@@ -33,7 +33,10 @@
|
|
33
33
|
require "coveralls"
|
34
34
|
Coveralls.wear!
|
35
35
|
|
36
|
-
# Example data files.
|
36
|
+
# Example data files and directories.
|
37
|
+
$dir_null = "test/data/dirs/null"
|
38
|
+
$dir_empty = "test/data/dirs/empty"
|
39
|
+
$dir_mngd = "test/data/dirs/managed"
|
37
40
|
$file_null = "test/data/null.file"
|
38
41
|
$ucf_empty = "test/data/empty.ucf"
|
39
42
|
$zip_empty = "test/data/empty.zip"
|
@@ -42,7 +45,8 @@ $ucf_example = "test/data/example.ucf"
|
|
42
45
|
$meta_inf_dir = "test/data/META-INF"
|
43
46
|
|
44
47
|
# Run test cases.
|
45
|
-
require '
|
46
|
-
require '
|
48
|
+
require 'tc_create_file'
|
49
|
+
require 'tc_read_dir'
|
50
|
+
require 'tc_read_file'
|
47
51
|
require 'tc_reserved_names'
|
48
52
|
require 'tc_managed_entries'
|
data/ucf.gemspec
CHANGED
@@ -35,13 +35,13 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
35
35
|
require "ucf/version"
|
36
36
|
|
37
37
|
Gem::Specification.new do |s|
|
38
|
-
s.name
|
39
|
-
s.version
|
40
|
-
s.authors
|
41
|
-
s.email
|
42
|
-
s.homepage
|
43
|
-
s.platform
|
44
|
-
s.summary
|
38
|
+
s.name = "ucf"
|
39
|
+
s.version = UCF::Version::STRING
|
40
|
+
s.authors = ["Robert Haines"]
|
41
|
+
s.email = ["support@mygrid.org.uk"]
|
42
|
+
s.homepage = "http://mygrid.github.io/ruby-ucf/"
|
43
|
+
s.platform = Gem::Platform::RUBY
|
44
|
+
s.summary = "Universal Container Format (UCF) Ruby Library"
|
45
45
|
s.description = "A Ruby library for working with Universal Container "\
|
46
46
|
"Format files - a type of EPUB document. See the UCF specification "\
|
47
47
|
"(https://learn.adobe.com/wiki/display/PDFNAV/Universal+Container+Format) "\
|
@@ -54,12 +54,13 @@ Gem::Specification.new do |s|
|
|
54
54
|
s.test_files = `git ls-files -- test/*`.split($/)
|
55
55
|
s.has_rdoc = true
|
56
56
|
s.extra_rdoc_files = [ "Changes.rdoc", "Licence.rdoc", "ReadMe.rdoc" ]
|
57
|
-
s.rdoc_options
|
57
|
+
s.rdoc_options = ["-N", "--tab-width=2", "--main=ReadMe.rdoc"]
|
58
58
|
s.required_ruby_version = ">= 1.9.3"
|
59
|
-
s.add_development_dependency
|
60
|
-
s.add_development_dependency
|
61
|
-
s.add_development_dependency
|
62
|
-
s.add_development_dependency
|
63
|
-
s.add_development_dependency
|
64
|
-
s.
|
59
|
+
s.add_development_dependency "rake", "~> 10.4"
|
60
|
+
s.add_development_dependency "bundler", "~> 1.5"
|
61
|
+
s.add_development_dependency "rdoc", "~> 4.1"
|
62
|
+
s.add_development_dependency "test-unit", "~> 3.0"
|
63
|
+
s.add_development_dependency "coveralls"
|
64
|
+
s.add_development_dependency "nokogiri", "~> 1.6"
|
65
|
+
s.add_runtime_dependency "zip-container", "~> 2.2"
|
65
66
|
end
|
data/version.yml
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ucf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Haines
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 10.
|
19
|
+
version: '10.4'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 10.
|
26
|
+
version: '10.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 4.
|
47
|
+
version: '4.1'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 4.
|
54
|
+
version: '4.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: coveralls
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +100,14 @@ dependencies:
|
|
86
100
|
requirements:
|
87
101
|
- - ~>
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '2.
|
103
|
+
version: '2.2'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - ~>
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '2.
|
110
|
+
version: '2.2'
|
97
111
|
description: A Ruby library for working with Universal Container Format files - a
|
98
112
|
type of EPUB document. See the UCF specification (https://learn.adobe.com/wiki/display/PDFNAV/Universal+Container+Format)
|
99
113
|
for details. They are very similar, although not as restrictive, as the EPUB Open
|
@@ -108,6 +122,7 @@ extra_rdoc_files:
|
|
108
122
|
- ReadMe.rdoc
|
109
123
|
files:
|
110
124
|
- .gitignore
|
125
|
+
- .ruby-env
|
111
126
|
- .ruby-gemset
|
112
127
|
- .ruby-version
|
113
128
|
- .travis.yml
|
@@ -120,6 +135,7 @@ files:
|
|
120
135
|
- examples/ucfinfo
|
121
136
|
- examples/verify-ucf
|
122
137
|
- lib/ucf.rb
|
138
|
+
- lib/ucf/dir.rb
|
123
139
|
- lib/ucf/file.rb
|
124
140
|
- lib/ucf/meta-inf.rb
|
125
141
|
- lib/ucf/schema/OpenDocument-manifest-schema-v1.0-os.rng
|
@@ -128,13 +144,18 @@ files:
|
|
128
144
|
- test/data/META-INF/container.xml
|
129
145
|
- test/data/META-INF/manifest.xml
|
130
146
|
- test/data/compressed_mimetype.ucf
|
147
|
+
- test/data/dirs/empty/mimetype
|
148
|
+
- test/data/dirs/managed/greeting.txt
|
149
|
+
- test/data/dirs/managed/mimetype
|
150
|
+
- test/data/dirs/null/.gitkeep
|
131
151
|
- test/data/empty.ucf
|
132
152
|
- test/data/empty.zip
|
133
153
|
- test/data/example.ucf
|
134
154
|
- test/data/null.file
|
135
|
-
- test/
|
155
|
+
- test/tc_create_file.rb
|
136
156
|
- test/tc_managed_entries.rb
|
137
|
-
- test/
|
157
|
+
- test/tc_read_dir.rb
|
158
|
+
- test/tc_read_file.rb
|
138
159
|
- test/tc_reserved_names.rb
|
139
160
|
- test/ts_ucf.rb
|
140
161
|
- ucf.gemspec
|
@@ -170,12 +191,17 @@ test_files:
|
|
170
191
|
- test/data/META-INF/container.xml
|
171
192
|
- test/data/META-INF/manifest.xml
|
172
193
|
- test/data/compressed_mimetype.ucf
|
194
|
+
- test/data/dirs/empty/mimetype
|
195
|
+
- test/data/dirs/managed/greeting.txt
|
196
|
+
- test/data/dirs/managed/mimetype
|
197
|
+
- test/data/dirs/null/.gitkeep
|
173
198
|
- test/data/empty.ucf
|
174
199
|
- test/data/empty.zip
|
175
200
|
- test/data/example.ucf
|
176
201
|
- test/data/null.file
|
177
|
-
- test/
|
202
|
+
- test/tc_create_file.rb
|
178
203
|
- test/tc_managed_entries.rb
|
179
|
-
- test/
|
204
|
+
- test/tc_read_dir.rb
|
205
|
+
- test/tc_read_file.rb
|
180
206
|
- test/tc_reserved_names.rb
|
181
207
|
- test/ts_ucf.rb
|