class Photocopier::FTP::Session

Public Class Methods

new(options) click to toggle source
# File lib/photocopier/ftp/session.rb, line 4
def initialize(options)
  @scheme = options[:scheme]

  @session = if sftp?
               Net::SFTP.start(
                 options[:host],
                 options[:user],
                 password: options[:password],
                 port: options[:port] || 22
               )
             else
               Net::FTP.open(
                 options[:host],
                 username: options[:user],
                 password: options[:password],
                 port: options[:port] || 21,
                 passive: options[:passive] || false,
                 ssl: @scheme == 'ftps' && true || false
               )
             end
end

Public Instance Methods

delete(remote) click to toggle source
# File lib/photocopier/ftp/session.rb, line 42
def delete(remote)
  if sftp?
    @session.remove!(remote)
  else
    @session.delete(remote)
  end
end
get(remote, local) click to toggle source
# File lib/photocopier/ftp/session.rb, line 26
def get(remote, local)
  if sftp?
    @session.download!(remote, local)
  else
    @session.get(remote, local)
  end
end
put_file(local, remote) click to toggle source
# File lib/photocopier/ftp/session.rb, line 34
def put_file(local, remote)
  if sftp?
    @session.upload!(local, remote)
  else
    @session.put(local, remote)
  end
end

Private Instance Methods

sftp?() click to toggle source
# File lib/photocopier/ftp/session.rb, line 52
def sftp?
  @scheme == 'sftp'
end