Class: DaruLite::Offsets::Week
- Inherits:
-
DateOffset
- Object
- DateOffset
- DaruLite::Offsets::Week
- Defined in:
- lib/daru_lite/date_time/offsets.rb
Instance Method Summary collapse
- #+(other) ⇒ Object
- #-(other) ⇒ Object
- #freq_string ⇒ Object
-
#initialize(*args) ⇒ Week
constructor
A new instance of Week.
- #on_offset?(date_time) ⇒ Boolean
Methods inherited from DateOffset
Constructor Details
Instance Method Details
#+(other) ⇒ Object
227 228 229 230 231 232 233 234 235 |
# File 'lib/daru_lite/date_time/offsets.rb', line 227 def +(other) wday = other.wday distance = (@weekday - wday).abs if @weekday > wday other + distance + (7 * (@n - 1)) else other + (7 - distance) + (7 * (@n - 1)) end end |
#-(other) ⇒ Object
237 238 239 240 241 242 243 244 245 |
# File 'lib/daru_lite/date_time/offsets.rb', line 237 def -(other) wday = other.wday distance = (@weekday - wday).abs if @weekday >= wday other - ((7 - distance) + (7 * (@n - 1))) else other - (distance + (7 * (@n - 1))) end end |
#freq_string ⇒ Object
251 252 253 |
# File 'lib/daru_lite/date_time/offsets.rb', line 251 def freq_string "#{@n == 1 ? '' : @n.to_s}W-#{DaruLite::DAYS_OF_WEEK.key(@weekday)}" end |
#on_offset?(date_time) ⇒ Boolean
247 248 249 |
# File 'lib/daru_lite/date_time/offsets.rb', line 247 def on_offset?(date_time) date_time.wday == @weekday end |