Class: Rsync::Result

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

Overview

The result of a sync.

Instance Method Summary collapse

Instance Method Details

#changesArray<Change>

List of changes made during this run.

Returns:



70
71
72
73
74
75
76
77
78
79
80
# File 'lib/rsync/result.rb', line 70

def changes
  list = []
  @raw.split("\n").each do |line|
    #if line =~ /^([<>ch.*][fdLDS][ .+\?cstTpoguax]{9}) (.*)$/
    if line =~ /^([<>ch.\*].{10}) (.*)$/
      detail = Change.new(line)
      list << detail if detail.changed?
    end
  end
  list
end

#errorObject

The error message based on exit code.

Returns:

  • String



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/rsync/result.rb', line 20

def error
  case @exitcode.exitstatus
    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"
  end
end

#success?Boolean

Whether the rsync job was run without errors.

Returns:

  • (Boolean)

    Boolean



14
15
16
# File 'lib/rsync/result.rb', line 14

def success?
  @exitcode.to_i == 0
end