Sha256: afd0194749727b1f16380bd4fed447068beff9850d14269444078af18309db4e

Contents?: true

Size: 843 Bytes

Versions: 4

Compression:

Stored size: 843 Bytes

Contents

#!/usr/bin/env ruby
require 'fileutils'

class ZipFolderWriter

  def initialize(root_name)
		@root_name = root_name + '.zip'
    @export_zos =  Zip::ZipOutputStream.open(@root_name)
  end

	def folder_name
		@root_name
	end

  def open(file_name, options)
    @export_zos.put_next_entry(file_name)
    begin
      yield @export_zos
    end
  end

  def close
    @export_zos.close
  end
end

class FolderWriter
  def initialize(root_name)
    FileUtils.mkpath(root_name)
    @root_name = root_name
  end

	def folder_name
		@root_name
	end

  def open(file_name, options)
    file_name = File.join(@root_name, file_name)
    FileUtils.mkdir_p(File.dirname(file_name))
    f = File.open(file_name, options)
    begin
      yield f
    ensure
      f.close
    end
  end

  def close
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jcangas-datagateway-1.1.0 lib/datagateway/folder_writer.rb
jcangas-datagateway-1.2.2 lib/datagateway/folder_writer.rb
jcangas-datagateway-1.4.4 lib/datagateway/folder_writer.rb
jcangas-datagateway-1.5.0 lib/datagateway/folder_writer.rb