#!/usr/bin/env ruby =begin ======================================================================= # TORK-HERALD 1 2012-12-30 19.2.0 ## NAME tork-herald - reports modified files ## SYNOPSIS `tork-herald` [*OPTION*]... ## DESCRIPTION This program monitors the current working directory and all those below it recursively. When any files therein are modified, it prints their relative paths in a single-line JSON array to stdout. ## OPTIONS `-h`, `--help` Show this help manual. ## SEE ALSO tork(1), tork-driver(1) =end ========================================================================= $0 = File.basename(__FILE__) # for easier identification in ps(1) output require 'binman' BinMan.help require 'json' STDOUT.sync = true # flush puts() output immediately after writing require 'listen' Listen.to('.', :relative_paths => true) do |modified, added, removed| files = modified + added puts JSON.dump(files) unless files.empty? end.start