symphony-metronome/bin/metronome-exp

34 lines
710 B
Text
Raw Permalink Normal View History

#!/usr/bin/env ruby
# vim: set nosta noet ts=4 sw=4:
#
# Simplistic interval expression tester.
#
require 'symphony/metronome'
loop do
begin
exp = gets.chomp
next if exp.empty?
begin
parsed = Symphony::Metronome::IntervalExpression.parse( exp )
puts "OK:"
puts "\tvalid | %s" % [ parsed.valid ]
puts "\trecurring | %s" % [ parsed.recurring ]
puts "\tstarting | %s" % [ parsed.starting ]
puts "\tinterval | %s" % [ parsed.recurring ? parsed.interval : '-' ]
puts "\tending | %s" %
[ parsed.ending ? parsed.ending : (parsed.recurring ? 'never' : '-') ]
rescue => err
puts "NOPE: (%s) %s" % [ exp, err.message ]
end
puts
rescue Interrupt
exit 0
end
end