'TExpr' is short for 'TemporalExpression' and are inspired by the recurring event pattern[http://martinfowler.com/apsupp/recurring.pdf] described by Martin Fowler. Essentially, they provide a pattern language for specifying recurring events using set expressions.
See also [tutorial_te.rdoc]
# File lib/runt/temporalexpression.rb, line 56 def & (expr) self.and(expr){|adjusted| adjusted } end
# File lib/runt/temporalexpression.rb, line 60 def - (expr) self.minus(expr){|adjusted| adjusted } end
# File lib/runt/temporalexpression.rb, line 38 def and (arg) if self.kind_of?(Intersect) self.add(arg) else yield Intersect.new.add(self).add(arg) end end
Contributed by Emmett Shear: Returns an Array of Date-like objects which occur within the supplied DateRange. Will stop calculating dates once a number of dates equal to the optional attribute limit are found. (A limit of zero will collect all matching dates in the date range.)
# File lib/runt/temporalexpression.rb, line 69 def dates(date_range, limit=0) result = [] date_range.each do |date| result << date if self.include? date if limit > 0 and result.size == limit break end end result end
Returns true or false depending on whether this TExpr includes the supplied date expression.
# File lib/runt/temporalexpression.rb, line 24 def include?(date_expr); false end
# File lib/runt/temporalexpression.rb, line 48 def minus (arg) yield Diff.new(self,arg) end
Generated with the Darkfish Rdoc Generator 2.