# frozen_string_literal: true require 'rsync' module Crys class Deployer DEST_PREFIX = '/usr/local/sites/' def initialize(dest:, source:) @dest = dest @source = source Rsync.configure do |config| config.host = 'mms@10.0.7.0' end end def run puts "source: #{source}" full_dest = DEST_PREFIX + dest puts "dest: #{full_dest}" Rsync.run(source, full_dest, ['-rtz']) do |result| if result.success? result.changes.each do |change| puts "#{change.filename} (#{change.summary})" end else puts result.error end end end private attr_reader :dest, :source end end