class Infrataster::Contexts::FtpContext

FTP Context

Public Instance Methods

result() click to toggle source
# File lib/infrataster/contexts/ftp_context.rb, line 8
def result
  options = {}
  if server.options[:ftp]
    options = options.merge(server.options[:ftp])
  end

  resource.ftp = Net::FTP.open(server.address,
                               user = options[:user],
                               pass = options[:pass],
                               acct = nil)

  command, argument = resource.command.split

  response = ''
  if resource.ftp.respond_to?(command)
    response = resource.ftp.method(command).call if argument.nil?
    response = resource.ftp.method(command).call(argument) if argument
    resource.ftp.method('close').call
  end
  return response.join if response.is_a?(Array)
  response
end