Sha256: 37d1f11dd266961889d9add99065917e87278580e8f0f5b88eda9ba69e8c4a9b

Contents?: true

Size: 666 Bytes

Versions: 1

Compression:

Stored size: 666 Bytes

Contents

module PEBuild
  module Transfer
    require 'pe_build/transfer/open_uri'
    require 'pe_build/transfer/file'

    IMPLEMENTATIONS = {
      'http'  => PEBuild::Transfer::OpenURI,
      'https' => PEBuild::Transfer::OpenURI,
      'ftp'   => PEBuild::Transfer::OpenURI,
      'file'  => PEBuild::Transfer::File,
      nil     => PEBuild::Transfer::File, # Assume that URIs without a scheme are files
    }

    def self.generate(src, dst)
      scheme = src.scheme

      if (klass = IMPLEMENTATIONS[scheme])
        klass.new(src, dst)
      else
        raise "URI scheme #{scheme.inspect} cannot be handled by any file transferrers"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-pe_build-0.3.0 lib/pe_build/transfer.rb