Sha256: 6abef8b2723b34e11a170b2719305b6f4d3a7364878252b1b0dc78ffa0db47c8

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

require 'veewee/provider/core/helper/ssh'
module Veewee
  module Provider
    module  Core
      module BoxCommand

        def scp(localfile,remotefile,options={})
          raise Veewee::Error,"Box is not running" unless self.running?
          begin
            new_options=ssh_options.merge(options)
            self.when_ssh_login_works(self.ip_address,new_options) do
              begin
                env.logger.info "About to transfer #{localfile} to #{remotefile} to the box #{name} - #{self.ip_address} - #{new_options}"
                self.ssh_transfer_file(self.ip_address,localfile,remotefile,new_options)
              rescue RuntimeError => ex
                ui.error("Error transfering file #{localfile} failed, possible not enough permissions to write? #{ex}",:prefix => false)
                raise Veewee::SshError,ex
              end
            end
          rescue Net::SSH::AuthenticationFailed => ex
            ui.error("Authentication failure",:prefix => false)
            raise Veewee::SshError,ex
          end

        end
      end # Module
    end # Module
  end # Module
end # Module

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
veewee-0.3.0.beta1 lib/veewee/provider/core/box/scp.rb
veewee-0.3.0.alpha9 lib/veewee/provider/core/box/scp.rb
veewee-0.3.0.alpha8 lib/veewee/provider/core/box/scp.rb
veewee-0.3.0.alpha7 lib/veewee/provider/core/box/scp.rb