Sha256: 3db42e31984dddeee43a1d3d878d8d4fb698f389bf712ae496602775072eeeef

Contents?: true

Size: 1.04 KB

Versions: 8

Compression:

Stored size: 1.04 KB

Contents

require "daemon_controller"

class FtpServer

  INSTALL_PATH = File.expand_path("../../../../vendor/apache-ftpserver", __FILE__)
  USER1_PATH   = INSTALL_PATH + "/res/user1"
  USER2_PATH   = INSTALL_PATH + "/res/user2"

  def self.start
    daemon_controller.start unless daemon_controller.running?
  end

  def self.restart
    daemon_controller.restart
  end

  def self.clear
    FileUtils.rm_r(Dir.glob(USER1_PATH + "/*"))
    FileUtils.rm_r(Dir.glob(USER2_PATH + "/*"))
  end

  private

  def self.daemon_controller
    @daemon_controller ||= DaemonController.new(
      :identifier                => "Apache FtpServer",
      :start_command             => "cd #{INSTALL_PATH}; ./bin/ftpd.sh res/conf/ftpd-typical.xml",
      :ping_command              => [:tcp, '127.0.0.1', 2121],
      :pid_file                  => INSTALL_PATH + "/res/ftpd.pid",
      :log_file                  => INSTALL_PATH + "/res/log/ftpd.log",
      :start_timeout             => ENV['TRAVIS'] ? 120 : 10,
      :log_file_activity_timeout => ENV['TRAVIS'] ? 120 : 10
    )
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
paperclip-storage-ftp-1.2.8 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.7 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.6 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.5 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.4 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.3 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.2 spec/support/integration/ftp_server.rb
paperclip-storage-ftp-1.2.1 spec/support/integration/ftp_server.rb