#!/usr/bin/env ruby =begin ======================================================================= # TORK-HERALD 1 2014-03-04 19.6.1 ## 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