Class: ZipDSL
- Inherits:
-
Object
- Object
- ZipDSL
- 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
-
#from_dir ⇒ Object
readonly
Returns the value of attribute from_dir.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #build(name = nil, &execute_block) ⇒ Object
- #each_entry(dir = ".", &code) ⇒ Object
- #entries_size ⇒ Object
- #entry_exist?(entry_name) ⇒ Boolean
-
#initialize(name, from_dir = nil) ⇒ ZipDSL
constructor
A new instance of ZipDSL.
- #list(dir = ".") ⇒ Object
- #update(name = nil, &execute_block) ⇒ Object
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.(from_dir) to_root = File.(File.dirname(name)) FileUtils.mkdir_p(to_root) unless File.exists? to_root end |
Instance Attribute Details
#from_dir ⇒ Object (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 |
#name ⇒ Object (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_size ⇒ Object
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
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 |