Class: ZipDSL
- Inherits:
-
Object
- Object
- ZipDSL
- Defined in:
- lib/zip_dsl/version.rb,
lib/zip_dsl/zip_dsl.rb
Constant Summary collapse
- VERSION =
"1.4.3"
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.
6 7 8 9 10 11 12 |
# File 'lib/zip_dsl/zip_dsl.rb', line 6 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.
4 5 6 |
# File 'lib/zip_dsl/zip_dsl.rb', line 4 def from_dir @from_dir end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/zip_dsl/zip_dsl.rb', line 4 def name @name end |
Instance Method Details
#build(name = nil, &execute_block) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/zip_dsl/zip_dsl.rb', line 14 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 } MetaMethods::DslBuilder.instance.evaluate_dsl(create_block, destroy_block, execute_block) end |
#each_entry(dir = ".", &code) ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/zip_dsl/zip_dsl.rb', line 56 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) } MetaMethods::DslBuilder.instance.evaluate_dsl(create_block, destroy_block, execute_block) end |
#entries_size ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/zip_dsl/zip_dsl.rb', line 40 def entries_size create_block = lambda { ZipReader.new(name) } destroy_block = lambda {|reader| reader.close } execute_block = lambda { |reader| reader.entries_size } MetaMethods::DslBuilder.instance.evaluate_dsl(create_block, destroy_block, execute_block) end |
#entry_exist?(entry_name) ⇒ Boolean
32 33 34 35 36 37 38 |
# File 'lib/zip_dsl/zip_dsl.rb', line 32 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) } MetaMethods::DslBuilder.instance.evaluate_dsl(create_block, destroy_block, execute_block) end |
#list(dir = ".") ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/zip_dsl/zip_dsl.rb', line 48 def list dir="." create_block = lambda { ZipReader.new(name) } destroy_block = lambda {|reader| reader.close } execute_block = lambda { |reader| reader.list(dir) } MetaMethods::DslBuilder.instance.evaluate_dsl(create_block, destroy_block, execute_block) end |
#update(name = nil, &execute_block) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/zip_dsl/zip_dsl.rb', line 23 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 } MetaMethods::DslBuilder.instance.evaluate_dsl(create_block, destroy_block, execute_block) end |