Class: Autosftp::Monitor

Inherits:
Object
  • Object
show all
Defined in:
lib/autosftp/monitor.rb

Class Method Summary collapse

Class Method Details

.start(setting, dir, permission) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/autosftp/monitor.rb', line 7

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