class CloudFilesTransfer::Transfer
Attributes
destination[RW]
origin[RW]
path[RW]
Public Class Methods
copy!(origin, destination, path, args={})
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 12 def self.copy!(origin, destination, path, args={}) return puts("#{path} skipped.".colorize(:light_blue)) if (destination.object_exists?(path) rescue false) new(origin, destination, path, args).copy end
new(origin, destination, path, args={})
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 6 def initialize(origin, destination, path, args={}) @origin = origin @destination = destination @path = path end
Public Instance Methods
copy()
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 17 def copy retries = 0 begin origin_object = origin.object(path) desintation_object = destination.create_object(path) desintation_object.write(origin_object.data) success("#{path} saved") rescue Exception retries = retries + 1 unless retries > 2 warn("#{path} failed. Retry") retry else fail("#{path} failed.") end end end
Private Instance Methods
colored_print(message, color)
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 53 def colored_print message, color puts(message.colorize(color)) end
fail(message)
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 49 def fail message colored_print(message, :red) end
info(message)
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 37 def info message colored_print(message, :light_blue) end
success(message)
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 45 def success message colored_print(message, :green) end
warn(message)
click to toggle source
# File lib/cloud_files_transfer/transfer.rb, line 41 def warn message colored_print(message, :yellow) end