def update(update={})
      case update[:command]
        when :add_path
          unless match_filter?(update[:data])
            @path_set.add(update[:data])
            @filter_set.merge(subdirectory_regex(update[:data]))
          end
        when :stop_capture, :chown
          do_chown
      end
    end
def update(update={})
      case update[:command]
        when :add_path
          unless match_filter?(update[:data])
            @path_set.add(update[:data])
            @filter_set.merge(subdirectory_regex(update[:data]))
          end
        when :stop_capture, :chown
          do_chown
      end
    end
@param [Integer] user The uid to switch from root to
 @param [Integer] group The gid to switch from root to
 @param [Hash] opts The options to create a observer with
 @option opts [Array<String>] :paths Additional paths to change
   ownership of.
 @option opts [String] :paths Additional path to to change
 ownership of
 Receives updates from FSMonitor#add_path

 @param [Hash] opts The options to update the observer
 @option opts [:symbol] :command The command to instruct the
   observer to execute.
   * +:add_path+ Indicates the +:data+ field contains a path.
   * +:stop_capture+ indicates that capturing has ceased. The
       observer will change ownership of the files, and switch
       to the user specified at #initialize.
 @option opts [String] :data Contains a resource path when the
   * +:add_path+ Command is called, otherwise ignored.