class Grifork::Config::Rsync

Public Class Methods

new(args = %w(-az --delete)) click to toggle source
# File lib/grifork/config.rb, line 73
def initialize(args = %w(-az --delete))
  case args
  when Array
    @options = args
  when Hash
    @delete   = args[:delete]   || true
    @verbose  = args[:verbose]  || false
    @bwlimit  = args[:bwlimit]  || nil
    @excludes = args[:excludes] || []
    @rsh      = args[:rsh]      || nil
    @dry_run  = args[:dry_run]  || false
  end
end

Public Instance Methods

options() click to toggle source
# File lib/grifork/config.rb, line 87
def options
  @options ||= -> {
    opts = []
    opts << ( @verbose ? '-avz' : '-az' )
    opts << '--dry-run'             if @dry_run
    opts << '--delete'              if @delete
    opts.concat(['--rsh', @rsh])    if @rsh
    opts << "--bwlimit=#{@bwlimit}" if @bwlimit
    if @excludes.size > 0
      @excludes.each { |ex| opts << "--exclude=#{ex}" }
    end
    opts
  }.call
end