File tree Expand file tree Collapse file tree 19 files changed +74
-43
lines changed Expand file tree Collapse file tree 19 files changed +74
-43
lines changed Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013, 2014 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
- require 'rubygems'
34
- require 'bundler/setup'
35
-
36
- require 'zip/filesystem'
37
-
38
- require 'zip-container/util'
39
- require 'zip-container/version'
40
- require 'zip-container/errors'
41
- require 'zip-container/entries/reserved'
42
- require 'zip-container/entries/managed'
43
- require 'zip-container/entries/entry'
44
- require 'zip-container/entries/file'
45
- require 'zip-container/entries/directory'
46
- require 'zip-container/container'
47
33
require 'zip-container/file'
48
34
require 'zip-container/dir'
49
35
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2014, 2015 The University of Manchester, UK.
1
+ # Copyright (c) 2014-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'entries/managed'
34
+ require_relative 'entries/reserved'
35
+
33
36
##
34
37
module ZipContainer
35
38
# The superclass of anything that represents a Zip Container. That
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2014 The University of Manchester, UK.
1
+ # Copyright (c) 2014-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'container'
34
+
33
35
require 'forwardable'
34
36
35
37
module ZipContainer
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2015 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'entry'
34
+ require_relative 'managed'
35
+ require_relative 'reserved'
36
+
33
37
##
34
38
module ZipContainer
35
39
# A ManagedDirectory acts as the interface to a set of (possibly) managed
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative '../util'
34
+
33
35
##
34
36
module ZipContainer
35
37
# ManagedEntry is the superclass of ManagedDirectory and ManagedFile. It
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2015 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'entry'
34
+
33
35
##
34
36
module ZipContainer
35
37
# A ManagedFile is used to reserve a filename in a Container namespace.
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013, 2014 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'entry'
34
+ require_relative 'file'
35
+ require_relative '../errors'
36
+ require_relative '../util'
37
+
33
38
##
34
39
module ZipContainer
35
40
# This module provides support for managed file and directory entries.
@@ -203,15 +208,18 @@ def initialize_managed_entries(entries = [])
203
208
# the container namespace and act as an interface to the (possibly)
204
209
# managed files within it.
205
210
def register_managed_entry ( entry )
206
- unless entry . is_a? ( ManagedDirectory ) || entry . is_a? ( ManagedFile )
211
+ unless entry . is_a? ( ManagedEntry )
207
212
raise ArgumentError ,
208
213
'The supplied entry must be of type ' \
209
214
'ManagedDirectory or ManagedFile or a subclass of either.'
210
215
end
211
216
212
217
entry . parent = self
213
- @directories [ entry . name ] = entry if entry . is_a? ManagedDirectory
214
- @files [ entry . name ] = entry if entry . is_a? ManagedFile
218
+ if entry . is_a? ( ManagedFile )
219
+ @files [ entry . name ] = entry
220
+ else
221
+ @directories [ entry . name ] = entry
222
+ end
215
223
end
216
224
217
225
private
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013, 2014 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative '../util'
34
+
33
35
##
34
36
module ZipContainer
35
37
# This module provides support for reserved names.
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2015 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require 'zip/errors'
34
+
33
35
##
34
36
module ZipContainer
35
37
# The base of all errors raised by this library.
Original file line number Diff line number Diff line change 30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'container'
34
+
35
+ require 'zip/filesystem'
33
36
require 'forwardable'
34
37
35
38
module ZipContainer
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2014 The University of Manchester, UK.
1
+ # Copyright (c) 2014-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require 'zip' # Remove this when we update to rubyzip 3.x.
34
+ require 'zip/entry'
35
+
33
36
##
34
37
module ZipContainer
35
38
# Utility methods useful throughout the rest of the ZipContainer library.
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2014-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2014-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
+
34
35
require 'tmpdir'
35
- require 'zip-container'
36
+ require 'zip-container/dir '
36
37
37
38
class TestCreateDir < Minitest ::Test
38
39
def test_create_container
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
+
34
35
require 'tmpdir'
35
- require 'zip-container'
36
+ require 'zip-container/file '
36
37
37
38
class TestCreateFile < Minitest ::Test
38
39
# Check creation of standard empty container files.
Original file line number Diff line number Diff line change 31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
- require 'zip-container'
34
+
35
+ require 'zip-container/errors'
35
36
36
37
class TestExceptions < Minitest ::Test
37
38
def test_rescue_container_errors
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
30
30
#
31
31
# Author: Robert Haines
32
32
33
+ require_relative 'helpers/entry_lists'
33
34
require_relative 'test_helper'
35
+
34
36
require 'tmpdir'
35
- require 'zip-container'
36
- require_relative 'helpers/entry_lists'
37
+ require 'zip-container/file'
38
+ require 'zip-container/dir'
39
+ require 'zip-container/entries/file'
40
+ require 'zip-container/entries/directory'
37
41
38
42
# Classes to test managed entries.
39
43
class ManagedZipContainer < ZipContainer ::File
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2014-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2014-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
+
34
35
require 'tmpdir'
35
36
require 'os'
36
- require 'zip-container'
37
+ require 'zip-container/dir '
37
38
38
39
class TestReadDir < Minitest ::Test
39
40
# Check that the empty directory does not verify.
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
- require 'zip-container'
34
+
35
+ require 'zip-container/file'
35
36
36
37
class TestReadFile < Minitest ::Test
37
38
# Check that the null file does not verify.
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2013-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2013-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
- require 'zip-container'
34
+
35
+ require 'zip-container/errors'
36
+ require 'zip-container/file'
37
+ require 'zip-container/entries/directory'
38
+ require 'zip-container/entries/file'
35
39
36
40
# A class to test the overriding of reserved and managed names.
37
41
class NewZipContainer < ZipContainer ::File
Original file line number Diff line number Diff line change 1
- # Copyright (c) 2014-2023 The University of Manchester, UK.
1
+ # Copyright (c) 2014-2024 The University of Manchester, UK.
2
2
#
3
3
# All rights reserved.
4
4
#
31
31
# Author: Robert Haines
32
32
33
33
require_relative 'test_helper'
34
+
35
+ require 'zip-container/util'
34
36
require 'uri'
35
- require 'zip-container'
36
37
37
38
class Util
38
39
include ZipContainer ::Util
You can’t perform that action at this time.
0 commit comments