class ZipContainer::Dir

This class represents a ZipContainer in directory format. See the OCF and UCF specifications for more details.

This class provides most of the facilities of the standard ::Dir class. Please also consult the ruby Dir documentation alongside these pages.

There are code examples available with the source code of this library.

Public Class Methods

create(pathname, mimetype) → container click to toggle source
create(pathname, mimetype) {|container| ...}

Create a new (or convert an existing) directory as a ZipContainer with the specified mimetype.

# File lib/zip-container/dir.rb, line 68
def self.create(pathname, mimetype, &block)
  ::Dir.mkdir(pathname) unless ::File.directory?(pathname)
  ::File.write(::File.join(pathname, MIMETYPE_FILE), mimetype)

  # Now open the newly created container.
  c = new(pathname)

  if block_given?
    begin
      yield c
    ensure
      c.close
    end
  end

  c
end

Public Instance Methods

close → nil click to toggle source

Equal to ::Dir.close

# File lib/zip-container/dir.rb, line 172
    
each { |filename| ... } → dir click to toggle source
each → an_enumerator

Equal to ::Dir.each

# File lib/zip-container/dir.rb, line 181
    
path → string or nil click to toggle source

Equal to ::Dir.path

# File lib/zip-container/dir.rb, line 189
    
pos → integer click to toggle source

Equal to ::Dir.pos

# File lib/zip-container/dir.rb, line 197
    
pos = integer → integer click to toggle source

Equal to ::Dir.pos=

# File lib/zip-container/dir.rb, line 205
    
read click to toggle source
read(path) → file contents

Provides compatibility between directory and zip containers. If called without any parameters it acts like ::Dir.read but if called with a path then it acts like Zip::File#read.

Please see the documentation of the relevant method for more details.

# File lib/zip-container/dir.rb, line 97
def read(name = nil)
  return @container.read if name.nil?

  ::File.read(full_path(name))
end
rewind → dir click to toggle source

Equal to ::Dir.rewind

# File lib/zip-container/dir.rb, line 213
    
seek(integer) → dir click to toggle source

Equal to ::Dir.seek

# File lib/zip-container/dir.rb, line 221
    
tell → integer click to toggle source

Equal to ::Dir.tell

# File lib/zip-container/dir.rb, line 229