Parent

Included Modules

Runt::REDay

TExpr that matches periods of the day with minute precision. If the start hour is greater than the end hour, than end hour is assumed to be on the following day.

NOTE: By default, this class will match any date expression whose precision is less than or equal to DPrecision::DAY. To override this behavior, pass the optional fifth constructor argument the value: false.

See also: Date

Constants

ANY_DATE
CURRENT
NEXT

Public Class Methods

new(start_hour, start_minute, end_hour, end_minute, less_precise_match=true) click to toggle source
# File lib/runt/temporalexpression.rb, line 569
def initialize(start_hour, start_minute, end_hour, end_minute, less_precise_match=true)

  start_time = PDate.min(ANY_DATE.year,ANY_DATE.month,
            ANY_DATE.day,start_hour,start_minute)

  if(@spans_midnight = spans_midnight?(start_hour, end_hour)) then
    end_time = get_next(end_hour,end_minute)
  else
    end_time = get_current(end_hour,end_minute)
  end

  @range = start_time..end_time
  @less_precise_match = less_precise_match
end

Public Instance Methods

include?(date) click to toggle source
# File lib/runt/temporalexpression.rb, line 584
def include?(date)
  # 
  # If @less_precise_match == true and the precision of the argument
  #  is day or greater, then the result is always true
  return true if @less_precise_match && date.date_precision <= DPrecision::DAY
  if(@spans_midnight&&date.hour<12) then
    #Assume next day
    return @range.include?(get_next(date.hour,date.min))
  end

  #Same day
  return @range.include?(get_current(date.hour,date.min))
end
to_s() click to toggle source
# File lib/runt/temporalexpression.rb, line 598
def to_s
  "from #{Runt.format_time(@range.begin)} to #{Runt.format_time(@range.end)} daily"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.