class Runt::Collection

Base class for TExpr classes that can be composed of other TExpr objects imlpemented using the Composite(GoF) pattern.

Attributes

expressions[R]

Public Class Methods

new() click to toggle source
# File lib/runt/temporalexpression.rb, line 90
def initialize
  @expressions = Array.new
end

Public Instance Methods

add(anExpression) click to toggle source
# File lib/runt/temporalexpression.rb, line 94
def add(anExpression)
  @expressions.push anExpression
  self
end
display() click to toggle source
# File lib/runt/temporalexpression.rb, line 125
def display
  puts "I am a #{self.class} containing:"
  @expressions.each do |ex| 
    pp "#{ex.class}"
  end
end
overlap?(date_expr) click to toggle source

Will return true if the supplied object overlaps with the range used to create this instance

# File lib/runt/temporalexpression.rb, line 101
def overlap?(date_expr)
  @expressions.each do | interval |
    return true if date_expr.overlap?(interval)      
  end
  false    
end
to_s() { || ... } click to toggle source
# File lib/runt/temporalexpression.rb, line 108
def to_s
  if !@expressions.empty? && block_given?
    first_expr, next_exprs = yield
    result = '' 
    @expressions.map do |expr|
      if @expressions.first===expr
        result = first_expr + expr.to_s
      else
       result = result + next_exprs + expr.to_s
      end 
    end
    result
  else
    'empty'
  end
end