Sha256: cd43269b66e25293eaac79410efad2a2d50c340edf6321a828d601b7537fcbe7

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

module PatternPark
  
  class RemoteFileTarget < FileTarget
    attr_accessor :url,
                  :type,
                  :sprout,
                  :archive_type,
                  :archive_path,
                  :install_path,
                  :project_path,
                  :post_install
                  :mount_path
    attr_reader   :downloaded_path,
                  :file_name,
                  :copy_path
    
    def resolve
      # already run once, don't run again in this session
      if(!file_name.nil?)
        return
      end
      if(url.nil? || url == '')
        return
      end
      @file_name = url.split('/').pop
      @downloaded_path = File.join(Sprout.cache, type, install_path, file_name)
      a_type = (archive_type == 'txt') ? nil : archive_type
      @install_path = File.join(Sprout.cache, type, install_path, a_type)
      @copy_path = File.join(install_path, archive_path)
      loader = RemoteFileLoader.new

      if(Sprout.update || !File.exists?(downloaded_path))
        # retrieve from the network
        loader.get_remote_file(url, downloaded_path)
      end
      
      if(Sprout.update || !File.exists?(install_path))
        # unpack into install path
        loader.unpack_downloaded_file(downloaded_path, install_path)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sprout-0.5.0 lib/remote_file_target.rb
sprout-0.3.36 lib/remote_file_target.rb
sprout-0.3.35 lib/remote_file_target.rb