class Autosftp::Monitor

Public Class Methods

start(setting, dir, permission) click to toggle source
# File lib/autosftp/monitor.rb, line 6
def self.start setting, dir, permission
  FSSM.monitor(setting[:local_path], dir) do
    puts "C: create  U: update  D: delete E: error"
    puts ""
    puts "Host      #{setting[:host]}"
    puts "Accepted  #{Time.now}"
    puts ""

    update do |base, file|
      begin
        Autosftp::Connection.create setting, "#{base}/#{file}", "#{setting[:remote_path]}/#{file}", permission
        puts "U: #{Time.now} #{setting[:remote_path]}/#{file}"
      rescue
        puts "EU: #{Time.now} #{setting[:remote_path]}/#{file}"
      end
    end

    create do |base, file|
      begin
        Autosftp::Connection.create setting, "#{base}/#{file}", "#{setting[:remote_path]}/#{file}", permission
        puts "C: #{Time.now} #{setting[:remote_path]}/#{file}"
      rescue
        puts "EC: #{Time.now} #{setting[:remote_path]}/#{file}"
      end
    end

    delete do |base, file|
      begin
        Autosftp::Connection.delete setting, "#{setting[:remote_path]}/#{file}"
        puts "D: #{Time.now} #{setting[:remote_path]}/#{file}"
      rescue
        puts "ED: #{Time.now} #{setting[:remote_path]}/#{file}"
      end
    end

  end
end