Method: FSEvent::WatchSet#del

Defined in:
lib/fsevent/watchset.rb

#del(watchee_device_name_pat, status_name_pat, watcher_device_name) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/fsevent/watchset.rb', line 51

def del(watchee_device_name_pat, status_name_pat, watcher_device_name)
  @watch_defs[watcher_device_name][watchee_device_name_pat].delete status_name_pat
  if /\*\z/ =~ watchee_device_name_pat
    watchee_device_name_prefix = $`
    if /\*\z/ =~ status_name_pat
      status_name_prefix = $`
      @watch_prefix_prefix[watchee_device_name_prefix][status_name_prefix].delete watcher_device_name
    else
      @watch_prefix_exact[watchee_device_name_prefix][status_name_pat].delete watcher_device_name
    end
  else
    if /\*\z/ =~ status_name_pat
      status_name_prefix = $`
      @watch_exact_prefix[watchee_device_name_pat][status_name_prefix].delete watcher_device_name
    else
      @watch_exact_exact[watchee_device_name_pat][status_name_pat].delete watcher_device_name
    end
  end
end