class LeccaClient::Downloader

Public Instance Methods

download_file(filename) click to toggle source
# File lib/lecca_client/downloader.rb, line 5
def download_file(filename)
  file = {}

  Net::SFTP.start(config[:host], config[:user], password: config[:pass]) do |sftp|
    file = {
      filename: filename,
      filepath: download_path(filename),
      content: sftp.download!(download_path(filename))
    }
  end

  file
end
download_files(prefix = nil) click to toggle source
# File lib/lecca_client/downloader.rb, line 19
def download_files(prefix = nil)
  files = []

  Net::SFTP.start(config[:host], config[:user], password: config[:pass]) do |sftp|
    sftp.dir.foreach(download_path) do |entry|
      next if !entry.file? || (prefix.present? && !entry.name.include?(prefix))

      files << {
        filename: entry.name,
        filepath: download_path(entry.name),
        content: sftp.download!(download_path(entry.name))
      }
    end
  end

  files
end

Private Instance Methods

config() click to toggle source
# File lib/lecca_client/downloader.rb, line 43
def config
  @config ||= LeccaClient.config.ftp
end
download_path(file_path = nil) click to toggle source
# File lib/lecca_client/downloader.rb, line 39
def download_path(file_path = nil)
  [(config[:download_path] || '.'), file_path].join('/')
end