Class: Runt::REWeek
- Inherits:
-
Object
- Object
- Runt::REWeek
- Includes:
- TExpr
- Defined in:
- lib/runt/temporalexpression.rb
Overview
TExpr that matches days of the week within one week only.
If start and end day are equal, the entire week will match true.
See also: Date
Constant Summary collapse
- VALID_RANGE =
0..6
Instance Method Summary collapse
- #include?(date) ⇒ Boolean
-
#initialize(start_day, end_day = 6) ⇒ REWeek
constructor
Creates a REWeek using the supplied start day(range = 0..6, where 0=>Sunday) and an optional end day.
- #to_s ⇒ Object
Methods included from TExpr
#&, #-, #and, #dates, #minus, #or, #|
Constructor Details
#initialize(start_day, end_day = 6) ⇒ REWeek
Creates a REWeek using the supplied start day(range = 0..6, where 0=>Sunday) and an optional end day. If an end day is not supplied, the maximum value (6 => Saturday) is assumed.
391 392 393 394 395 |
# File 'lib/runt/temporalexpression.rb', line 391 def initialize(start_day,end_day=6) validate(start_day,end_day) @start_day = start_day @end_day = end_day end |
Instance Method Details
#include?(date) ⇒ Boolean
397 398 399 400 401 402 403 404 |
# File 'lib/runt/temporalexpression.rb', line 397 def include?(date) return true if all_week? if @start_day < @end_day @start_day<=date.wday && @end_day>=date.wday else (@start_day<=date.wday && 6 >=date.wday) || (0 <=date.wday && @end_day >=date.wday) end end |