Sha256: e98f33c4ad7b1eb6b3eb5433aebf492e77ba8d4ab4623fe3a0bcebcb130c1678

Contents?: true

Size: 624 Bytes

Versions: 1

Compression:

Stored size: 624 Bytes

Contents

module PEBuild
  module Unpack

    class UnknownInstallerType < Vagrant::Errors::VagrantError
      error_key(:unknown_installer_type, "pebuild.unpack")
    end

    require 'pe_build/unpack/tar'
    require 'pe_build/unpack/copy'

    IMPLEMENTATIONS = {
      '.tar.gz' => PEBuild::Unpack::Tar,
      '.msi'    => PEBuild::Unpack::Copy,
    }

    # @param src [String]
    # @param dst [String]
    def self.generate(src, dst)
      klass = IMPLEMENTATIONS.find do |key,v|
        src.end_with?(key)
      end.last

      raise UnknownInstallerType, :src => src unless klass
      klass.new(src, dst)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-pe_build-0.5.0 lib/pe_build/unpack.rb