lib/rsync/result.rb in rsync-0.0.4 vs lib/rsync/result.rb in rsync-0.0.5

- old
+ new

@@ -1,67 +1,53 @@ require 'rsync/change' module Rsync # The result of a sync. class Result + # Error messages by exit code + ERROR_CODES = { + "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" + } + # @!visibility private def initialize(raw, exitcode) @raw = raw @exitcode = exitcode end # Whether the rsync job was run without errors. # @return {Boolean} def success? - @exitcode.to_i == 0 + @exitcode == 0 end # The error message based on exit code. # @return {String} def error - case @exitcode.to_i - when 0 - "Success" - when 1 - "Syntax or usage error" - when 2 - "Protocol incompatibility" - when 3 - "Errors selecting input/output files, dirs" - when 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." - when 5 - "Error starting client-server protocol" - when 6 - "Daemon unable to append to log-file" - when 10 - "Error in socket I/O" - when 11 - "Error in file I/O" - when 12 - "Error in rsync protocol data stream" - when 13 - "Errors with program diagnostics" - when 14 - "Error in IPC code" - when 20 - "Received SIGUSR1 or SIGINT" - when 21 - "Some error returned by waitpid()" - when 22 - "Error allocating core memory buffers" - when 23 - "Partial transfer due to error" - when 24 - "Partial transfer due to vanished source files" - when 25 - "The --max-delete limit stopped deletions" - when 30 - "Timeout in data send/receive" - when 35 - "Timeout waiting for daemon connection" - else - "Unknown Error" + error_key = @exitcode.to_s + if ERROR_CODES.has_key? error_key + ERROR_CODES[error_key] + else + "Unknown Error" end end # List of changes made during this run. #