Method: When::Coordinates::Residue.day_of_week
- Defined in:
- lib/when_exe/coordinates.rb
.day_of_week(day) ⇒ When::Coordinates::Residue Also known as: to_residue
曜日(剰余類)
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/when_exe/coordinates.rb', line 111 def day_of_week(day) return day if day.kind_of?(self) day ||= 0 week = When.Resource('_co:Common::Week') dow = week.child case day when Numeric ; return dow[day] when /\AWeek\z/ ; return week when String ; day = When::EncodingConversion.to_internal_encoding(day) else ; return nil end day, shift = day.split(':', 2) residue = day.split('&').inject(nil) {|res,d| r = _day_of_week(d.strip, dow) return nil unless r res ? res & r : r } return residue unless shift shift = shift.to_i shift -= 1 if shift > 0 residue >> shift end |