Class: ZipDSL

Inherits:
Object
  • Object
show all
Includes:
MetaMethods
Defined in:
lib/zip_dsl/version.rb,
lib/zip_dsl/zip_dsl.rb

Constant Summary collapse

VERSION =
"1.4.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, from_dir = nil) ⇒ ZipDSL

Returns a new instance of ZipDSL.



8
9
10
11
12
13
14
# File 'lib/zip_dsl/zip_dsl.rb', line 8

def initialize name, from_dir = nil
  @name = name
  @from_dir = from_dir.nil? ? from_dir : File.expand_path(from_dir)

  to_root = File.expand_path(File.dirname(name))
  FileUtils.mkdir_p(to_root) unless File.exists? to_root
end

Instance Attribute Details

#from_dirObject (readonly)

Returns the value of attribute from_dir.



6
7
8
# File 'lib/zip_dsl/zip_dsl.rb', line 6

def from_dir
  @from_dir
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/zip_dsl/zip_dsl.rb', line 6

def name
  @name
end

Instance Method Details

#build(name = nil, &execute_block) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/zip_dsl/zip_dsl.rb', line 16

def build(name=nil, &execute_block)
  name = name.nil? ? @name : name

  create_block = lambda { ZipWriter.new(name, from_dir) }
  destroy_block = lambda {|writer| writer.close }

  evaluate_dsl(create_block, destroy_block, execute_block)
end

#each_entry(dir = ".", &code) ⇒ Object



58
59
60
61
62
63
64
# File 'lib/zip_dsl/zip_dsl.rb', line 58

def each_entry dir=".", &code
  create_block = lambda { ZipReader.new(name) }
  destroy_block = lambda {|reader| reader.close }
  execute_block = lambda { |reader| reader.each_entry(dir, &code) }

  evaluate_dsl(create_block, destroy_block, execute_block)
end

#entries_sizeObject



42
43
44
45
46
47
48
# File 'lib/zip_dsl/zip_dsl.rb', line 42

def entries_size
  create_block = lambda { ZipReader.new(name) }
  destroy_block = lambda {|reader| reader.close }
  execute_block = lambda { |reader| reader.entries_size }

  evaluate_dsl(create_block, destroy_block, execute_block)
end

#entry_exist?(entry_name) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
37
38
39
40
# File 'lib/zip_dsl/zip_dsl.rb', line 34

def entry_exist? entry_name
  create_block = lambda { ZipReader.new(name) }
  destroy_block = lambda {|reader| reader.close }
  execute_block = lambda { |reader| reader.entry_exist?(entry_name) }

  evaluate_dsl(create_block, destroy_block, execute_block)
end

#list(dir = ".") ⇒ Object



50
51
52
53
54
55
56
# File 'lib/zip_dsl/zip_dsl.rb', line 50

def list dir="."
  create_block = lambda { ZipReader.new(name) }
  destroy_block = lambda {|reader| reader.close }
  execute_block = lambda { |reader| reader.list(dir) }

  evaluate_dsl(create_block, destroy_block, execute_block)
end

#update(name = nil, &execute_block) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/zip_dsl/zip_dsl.rb', line 25

def update(name=nil, &execute_block)
  name = name.nil? ? @name : name

  create_block = lambda { ZipUpdater.new(name, from_dir) }
  destroy_block = lambda {|updater| updater.close }

  evaluate_dsl(create_block, destroy_block, execute_block)
end