Sha256: fb2fad6682b6ca4b4f24714900609a5821854097dd1f269678c6057594fe6785

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

module Middleman
  module Deploy
    module Methods
      class Rsync < Base

        attr_reader :clean, :flags, :host, :path, :port, :user

        def initialize(server_instance, options={})
          super(server_instance, options)

          @clean  = self.options.clean
          @flags  = self.options.flags
          @host   = self.options.host
          @path   = self.options.path
          @port   = self.options.port
          @user   = self.options.user
        end

        def process
          # Append "@" to user if provided.
          user      = "#{self.user}@" if self.user && !self.user.empty?

          dest_url  = "#{user}#{self.host}:#{self.path}"
          flags     = self.flags || '-avz'
          command   = "rsync #{flags} '-e ssh -p #{self.port}' #{self.server_instance.build_dir}/ #{dest_url}"

          if self.clean
            command += " --delete"
          end

          puts "## Deploying via rsync to #{dest_url} port=#{self.port}"
          exec command
        end

      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
middleman-deploy-0.2.4 lib/middleman-deploy/methods/rsync.rb
middleman-deploy-0.2.3 lib/middleman-deploy/methods/rsync.rb