Module: Fugit::Duration::IsoParser

Includes:
Raabro
Defined in:
lib/fugit/duration.rb

Instance Method Summary collapse

Instance Method Details

#date(i) ⇒ Object



401
# File 'lib/fugit/duration.rb', line 401

def date(i); rep(nil, i, :delt, 1); end

#day(i) ⇒ Object



393
# File 'lib/fugit/duration.rb', line 393

def day(i); rex(:day, i, /-?\d+D/); end

#delt(i) ⇒ Object



398
# File 'lib/fugit/duration.rb', line 398

def delt(i); alt(nil, i, :yea, :mon, :wee, :day); end

#dur(i) ⇒ Object



405
# File 'lib/fugit/duration.rb', line 405

def dur(i); seq(:dur, i, :p, :date, '?', :t_time, '?'); end

#hou(i) ⇒ Object



394
# File 'lib/fugit/duration.rb', line 394

def hou(i); rex(:hou, i, /-?\d+H/); end

#min(i) ⇒ Object



395
# File 'lib/fugit/duration.rb', line 395

def min(i); rex(:min, i, /-?\d+M/); end

#mon(i) ⇒ Object



391
# File 'lib/fugit/duration.rb', line 391

def mon(i); rex(:mon, i, /-?\d+M/); end

#p(i) ⇒ Object

piece parsers bottom to top



387
# File 'lib/fugit/duration.rb', line 387

def p(i); rex(nil, i, /P/); end

#rewrite_dur(t) ⇒ Object

rewrite parsed tree



409
# File 'lib/fugit/duration.rb', line 409

def rewrite_dur(t); Fugit::Duration.common_rewrite_dur(t); end

#sec(i) ⇒ Object



396
# File 'lib/fugit/duration.rb', line 396

def sec(i); rex(:sec, i, /-?(\d*\.)?\d+S/); end

#t(i) ⇒ Object



388
# File 'lib/fugit/duration.rb', line 388

def t(i); rex(nil, i, /T/); end

#t_time(i) ⇒ Object



403
# File 'lib/fugit/duration.rb', line 403

def t_time(i); seq(nil, i, :t, :time); end

#telt(i) ⇒ Object



399
# File 'lib/fugit/duration.rb', line 399

def telt(i); alt(nil, i, :hou, :min, :sec); end

#time(i) ⇒ Object



402
# File 'lib/fugit/duration.rb', line 402

def time(i); rep(nil, i, :telt, 1); end

#wee(i) ⇒ Object



392
# File 'lib/fugit/duration.rb', line 392

def wee(i); rex(:wee, i, /-?\d+W/); end

#yea(i) ⇒ Object



390
# File 'lib/fugit/duration.rb', line 390

def yea(i); rex(:yea, i, /-?\d+Y/); end