Sha256: e6a0410d19bb72b34c109f75546e95c735a75c3d9cc291daba215a97395617ed
Contents?: true
Size: 1 KB
Versions: 4
Compression:
Stored size: 1 KB
Contents
#! /usr/bin/ruby1.8 # scan task scripts for descriptions def script_desc(dir) help = {} files = Dir.glob(File.join(dir,'**/*')) files.each do |fname| next if FileTest.directory?(fname) next unless FileTest.executable?(fname) desc = '' File.open(fname) do |f| line = '' until f.eof? line = f.gets case line when /^(#!|\s*$)/ next when /^\s*#(.*)/ desc = $1.strip; break else desc = nil; break end end end help[fname] = desc end help end def show(dir) tasks = script_desc(dir) max = tasks.keys.max{ |a,b| a.size <=> b.size }.size if dir == '' max += 4 + 2 else max += dir.size + 2 end tasks = tasks.sort_by{|k,v| k } tasks.each do |name, sum| if dir == '' cmd = "ratch #{name}" else cmd = name end puts "%-#{max}s # %s" % [cmd, sum] end end dir = ARGV[0] || '.' if File.directory?(dir) show( dir ) else puts "#{dir} is not a directory" end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ratch-0.2.3 | bin/lt |
ratch-0.3.0 | bin/lt |
ratch-0.4.0 | bin/lt |
ratch-0.4.1 | bin/lt |