Skip to content

Commit cd10d10

Browse files
committed
Fix requires to isolate all files as much as possible.
1 parent d3fc218 commit cd10d10

19 files changed

+74
-43
lines changed

lib/zip-container.rb

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013, 2014 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,20 +30,6 @@
3030
#
3131
# Author: Robert Haines
3232

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'
4733
require 'zip-container/file'
4834
require 'zip-container/dir'
4935

lib/zip-container/container.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014, 2015 The University of Manchester, UK.
1+
# Copyright (c) 2014-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,9 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'entries/managed'
34+
require_relative 'entries/reserved'
35+
3336
##
3437
module ZipContainer
3538
# The superclass of anything that represents a Zip Container. That

lib/zip-container/dir.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014 The University of Manchester, UK.
1+
# Copyright (c) 2014-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,8 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'container'
34+
3335
require 'forwardable'
3436

3537
module ZipContainer

lib/zip-container/entries/directory.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2015 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,10 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'entry'
34+
require_relative 'managed'
35+
require_relative 'reserved'
36+
3337
##
3438
module ZipContainer
3539
# A ManagedDirectory acts as the interface to a set of (possibly) managed

lib/zip-container/entries/entry.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,8 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative '../util'
34+
3335
##
3436
module ZipContainer
3537
# ManagedEntry is the superclass of ManagedDirectory and ManagedFile. It

lib/zip-container/entries/file.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2015 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,8 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'entry'
34+
3335
##
3436
module ZipContainer
3537
# A ManagedFile is used to reserve a filename in a Container namespace.

lib/zip-container/entries/managed.rb

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013, 2014 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,11 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'entry'
34+
require_relative 'file'
35+
require_relative '../errors'
36+
require_relative '../util'
37+
3338
##
3439
module ZipContainer
3540
# This module provides support for managed file and directory entries.
@@ -203,15 +208,18 @@ def initialize_managed_entries(entries = [])
203208
# the container namespace and act as an interface to the (possibly)
204209
# managed files within it.
205210
def register_managed_entry(entry)
206-
unless entry.is_a?(ManagedDirectory) || entry.is_a?(ManagedFile)
211+
unless entry.is_a?(ManagedEntry)
207212
raise ArgumentError,
208213
'The supplied entry must be of type ' \
209214
'ManagedDirectory or ManagedFile or a subclass of either.'
210215
end
211216

212217
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
215223
end
216224

217225
private

lib/zip-container/entries/reserved.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013, 2014 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,8 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative '../util'
34+
3335
##
3436
module ZipContainer
3537
# This module provides support for reserved names.

lib/zip-container/errors.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2015 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,8 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require 'zip/errors'
34+
3335
##
3436
module ZipContainer
3537
# The base of all errors raised by this library.

lib/zip-container/file.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'container'
34+
35+
require 'zip/filesystem'
3336
require 'forwardable'
3437

3538
module ZipContainer

lib/zip-container/util.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014 The University of Manchester, UK.
1+
# Copyright (c) 2014-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,6 +30,9 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require 'zip' # Remove this when we update to rubyzip 3.x.
34+
require 'zip/entry'
35+
3336
##
3437
module ZipContainer
3538
# Utility methods useful throughout the rest of the ZipContainer library.

test/create_dir_test.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014-2023 The University of Manchester, UK.
1+
# Copyright (c) 2014-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -31,8 +31,9 @@
3131
# Author: Robert Haines
3232

3333
require_relative 'test_helper'
34+
3435
require 'tmpdir'
35-
require 'zip-container'
36+
require 'zip-container/dir'
3637

3738
class TestCreateDir < Minitest::Test
3839
def test_create_container

test/create_file_test.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2023 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -31,8 +31,9 @@
3131
# Author: Robert Haines
3232

3333
require_relative 'test_helper'
34+
3435
require 'tmpdir'
35-
require 'zip-container'
36+
require 'zip-container/file'
3637

3738
class TestCreateFile < Minitest::Test
3839
# Check creation of standard empty container files.

test/errors_test.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
# Author: Robert Haines
3232

3333
require_relative 'test_helper'
34-
require 'zip-container'
34+
35+
require 'zip-container/errors'
3536

3637
class TestExceptions < Minitest::Test
3738
def test_rescue_container_errors

test/managed_entries_test.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2023 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -30,10 +30,14 @@
3030
#
3131
# Author: Robert Haines
3232

33+
require_relative 'helpers/entry_lists'
3334
require_relative 'test_helper'
35+
3436
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'
3741

3842
# Classes to test managed entries.
3943
class ManagedZipContainer < ZipContainer::File

test/read_dir_test.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014-2023 The University of Manchester, UK.
1+
# Copyright (c) 2014-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -31,9 +31,10 @@
3131
# Author: Robert Haines
3232

3333
require_relative 'test_helper'
34+
3435
require 'tmpdir'
3536
require 'os'
36-
require 'zip-container'
37+
require 'zip-container/dir'
3738

3839
class TestReadDir < Minitest::Test
3940
# Check that the empty directory does not verify.

test/read_file_test.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2023 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -31,7 +31,8 @@
3131
# Author: Robert Haines
3232

3333
require_relative 'test_helper'
34-
require 'zip-container'
34+
35+
require 'zip-container/file'
3536

3637
class TestReadFile < Minitest::Test
3738
# Check that the null file does not verify.

test/reserved_names_test.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2013-2023 The University of Manchester, UK.
1+
# Copyright (c) 2013-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -31,7 +31,11 @@
3131
# Author: Robert Haines
3232

3333
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'
3539

3640
# A class to test the overriding of reserved and managed names.
3741
class NewZipContainer < ZipContainer::File

test/util_test.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2014-2023 The University of Manchester, UK.
1+
# Copyright (c) 2014-2024 The University of Manchester, UK.
22
#
33
# All rights reserved.
44
#
@@ -31,8 +31,9 @@
3131
# Author: Robert Haines
3232

3333
require_relative 'test_helper'
34+
35+
require 'zip-container/util'
3436
require 'uri'
35-
require 'zip-container'
3637

3738
class Util
3839
include ZipContainer::Util

0 commit comments

Comments
 (0)