Class: Backup::Storage::FTP

Inherits:
Base
  • Object
show all
Defined in:
lib/backup/storage/ftp.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#keep, #time

Instance Method Summary collapse

Methods inherited from Base

#cycle!, #local_file, #local_path, #provider, #remote_file

Methods included from Configuration::Helpers

#clear_defaults!, #getter_methods, #load_defaults!, #setter_methods

Constructor Details

#initialize(&block) ⇒ FTP

Creates a new instance of the FTP storage object First it sets the defaults (if any exist) and then evaluates the configuration block which may overwrite these defaults



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/backup/storage/ftp.rb', line 27

def initialize(&block)
  load_defaults!

  @port ||= 21
  @path ||= 'backups'

  instance_eval(&block) if block_given?

  @time = TIME
  @path = path.sub(/^\~\//, '')
end

Instance Attribute Details

#ipObject

Server IP Address and FTP port



17
18
19
# File 'lib/backup/storage/ftp.rb', line 17

def ip
  @ip
end

#passwordObject

Server credentials



13
14
15
# File 'lib/backup/storage/ftp.rb', line 13

def password
  @password
end

#pathObject

Path to store backups to



21
22
23
# File 'lib/backup/storage/ftp.rb', line 21

def path
  @path
end

#portObject

Server IP Address and FTP port



17
18
19
# File 'lib/backup/storage/ftp.rb', line 17

def port
  @port
end

#usernameObject

Server credentials



13
14
15
# File 'lib/backup/storage/ftp.rb', line 13

def username
  @username
end

Instance Method Details

#perform!Object

Performs the backup transfer



47
48
49
50
# File 'lib/backup/storage/ftp.rb', line 47

def perform!
  transfer!
  cycle!
end

#remote_pathObject

This is the remote path to where the backup files will be stored



41
42
43
# File 'lib/backup/storage/ftp.rb', line 41

def remote_path
  File.join(path, TRIGGER)
end