Sha256: bdbfc1b7b689a79a3b16e28a87dbdfc475ceec425fb4061a6cd30d8c564fde89

Contents?: true

Size: 601 Bytes

Versions: 8

Compression:

Stored size: 601 Bytes

Contents

require 'fileutils'

module PushmiPullyu::AIP
  class NoidInvalid < StandardError; end

  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

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

  module_function :create
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pushmi_pullyu-0.2.7 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.6 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.5 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.4 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.3 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.2 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.1 lib/pushmi_pullyu/aip.rb
pushmi_pullyu-0.2.0 lib/pushmi_pullyu/aip.rb