Class: Rsync::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/rsync/result.rb

Overview

The result of a sync.

Constant Summary collapse

ERROR_CODES =

Error messages by exit code

{
  "0" => "Success",
  "1" => "Syntax or usage error",
  "2" => "Protocol incompatibility",
  "3" => "Errors selecting input/output files, dirs",
  "4" => "Requested action not supported: an attempt was made to manipulate 64-bit files on a platform that can not support them; or an option was specified that is supported by the client and not by the server.",
  "5" => "Error starting client-server protocol",
  "6" => "Daemon unable to append to log-file",
  "10" => "Error in socket I/O",
  "11" => "Error in file I/O",
  "12" => "Error in rsync protocol data stream",
  "13" => "Errors with program diagnostics",
  "14" => "Error in IPC code",
  "20" => "Received SIGUSR1 or SIGINT",
  "21" => "Some error returned by waitpid()",
  "22" => "Error allocating core memory buffers",
  "23" => "Partial transfer due to error",
  "24" => "Partial transfer due to vanished source files",
  "25" => "The --max-delete limit stopped deletions",
  "30" => "Timeout in data send/receive",
  "35" => "Timeout waiting for daemon connection"
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#exitcodeObject

Exit code returned by rsync



7
8
9
# File 'lib/rsync/result.rb', line 7

def exitcode
  @exitcode
end

Instance Method Details

#changesArray<Change>

List of changes made during this run.

Returns:



59
60
61
# File 'lib/rsync/result.rb', line 59

def changes
  change_list
end

#errorString

The error message based on exit code.

Returns:

  • (String)


47
48
49
50
51
52
53
54
# File 'lib/rsync/result.rb', line 47

def error
  error_key = @exitcode.to_s
  if ERROR_CODES.has_key? error_key
    ERROR_CODES[error_key]
  else
    "Unknown Error"
  end
end

#success?Boolean

Whether the rsync job was run without errors.

Returns:

  • (Boolean)


41
42
43
# File 'lib/rsync/result.rb', line 41

def success?
  @exitcode == 0
end