Class ExpressionBuilder
In: lib/runt/expressionbuilder.rb
Parent: Object

Convenience class for building temporal expressions in a more human-friendly way. Used in conjunction with shortcuts defined in the sugar.rb file, this allows one to create expressions like the following:

  b = ExpressionBuilder.new
  expr = b.define do
    occurs daily_8_30am_to_9_45am
    on tuesday
    possibly wednesday
  end

This equivalent to:

  expr = REDay.new(8,30,9,45) & DIWeek.new(Tuesday) | DIWeek.new(Wednesday)

ExpressionBuilder creates expressions by evaluating a block passed to the :define method. From inside the block, methods :occurs, :on, :every, :possibly, and :maybe can be called with a temporal expression which will be added to a composite expression as follows:

  • :on - creates an “and” (&)
  • :possibly - creates an “or” (|)
  • :except - creates a “not” (-)
  • :every - alias for :on method
  • :occurs - alias for :on method
  • :maybe - alias for :possibly method

Methods

add   define   every   except   maybe   new   occurs   on   possibly  

Included Modules

Runt

Attributes

ctx  [RW] 

Public Class methods

Public Instance methods

every(expr)

Alias for on

maybe(expr)

Alias for possibly

occurs(expr)

Alias for on

[Validate]