Sha256: d25b3608e0bf6c1426c81477f94bd6492e4b9a26a2cd67800496c819f6137520

Contents?: true

Size: 703 Bytes

Versions: 65

Compression:

Stored size: 703 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/tar_gz'
    require 'pe_build/unpack/copy'

    IMPLEMENTATIONS = {
      '.tar'    => PEBuild::Unpack::Tar,
      '.tar.gz' => PEBuild::Unpack::TarGZ,
      '.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

65 entries across 65 versions & 1 rubygems

Version Path
vagrant-pe_build-0.19.2 lib/pe_build/unpack.rb
vagrant-pe_build-0.19.1 lib/pe_build/unpack.rb
vagrant-pe_build-0.19.0 lib/pe_build/unpack.rb
vagrant-pe_build-0.18.2 lib/pe_build/unpack.rb
vagrant-pe_build-0.18.1 lib/pe_build/unpack.rb
vagrant-pe_build-0.18.0 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.14 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.13 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.12 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.11 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.10 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.9 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.8 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.7 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.6 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.5 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.4 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.3 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.2 lib/pe_build/unpack.rb
vagrant-pe_build-0.17.1 lib/pe_build/unpack.rb