Sha256: ba2550e68ba1288a7371a6708b847bcc8ed96b2c796def1c5d1c95a2b209d421

Contents?: true

Size: 607 Bytes

Versions: 6

Compression:

Stored size: 607 Bytes

Contents

require 'fileutils'

module PushmiPullyu::AIP
  class NoidInvalid < StandardError; end
  module_function

  def create(noid)
    raise NoidInvalid if noid.blank? || noid.include?('/')

    aip_directory = "#{PushmiPullyu.options[:workdir]}/#{noid}"
    aip_filename = "#{aip_directory}.tar"

    PushmiPullyu::AIP::Downloader.new(noid, aip_directory).run
    PushmiPullyu::AIP::Creator.new(noid, aip_directory, aip_filename).run

    yield aip_filename, aip_directory

    FileUtils.rm_rf(aip_filename) if File.exist?(aip_filename)
    FileUtils.rm_rf(aip_directory) if File.exist?(aip_directory)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pushmi_pullyu-1.0.6 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-1.0.5 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-1.0.4 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-1.0.3 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-1.0.2 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-1.0.1 lib/pushmi_pullyu/aip.rb