Class: Voog::Dtk::Watcher

Inherits:
Object
  • Object
show all
Defined in:
lib/voog/dtk/watcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(filemanager, debug = false) ⇒ Watcher

Returns a new instance of Watcher.



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/voog/dtk/watcher.rb', line 37

def initialize(filemanager, debug=false)
  paths = ['layouts/', 'components/', 'assets/', 'javascripts/', 'stylesheets/', 'images/']

  @filemanager = filemanager
  @debug = debug
  @listener = Listen.to(*paths) do |modified, added, removed|
    handle_added added unless added.empty?
    handle_removed removed unless removed.empty?
    handle_modified modified unless modified.empty?
  end
end

Instance Method Details

#handle_added(added) ⇒ Object



49
50
51
52
53
54
# File 'lib/voog/dtk/watcher.rb', line 49

def handle_added(added)
  @filemanager.add_files added
rescue => e
  @filemanager.notifier.newline
  Voog::Dtk.handle_exception e, @debug, @filemanager.notifier
end

#handle_modified(modified) ⇒ Object



63
64
65
66
67
68
# File 'lib/voog/dtk/watcher.rb', line 63

def handle_modified(modified)
  @filemanager.upload_files modified
rescue => e
  @filemanager.notifier.newline
  Voog::Dtk.handle_exception e, @debug, @filemanager.notifier
end

#handle_removed(removed) ⇒ Object



56
57
58
59
60
61
# File 'lib/voog/dtk/watcher.rb', line 56

def handle_removed(removed)
  @filemanager.remove_files removed
rescue => e
  @filemanager.notifier.newline
  Voog::Dtk.handle_exception e, @debug, @filemanager.notifier
end

#runObject



70
71
72
73
# File 'lib/voog/dtk/watcher.rb', line 70

def run
  @listener.start
  sleep
end