Class: Daru::Offsets::Week
- Inherits:
-
DateOffset
- Object
- DateOffset
- Daru::Offsets::Week
- Defined in:
- lib/daru/date_time/offsets.rb
Instance Method Summary collapse
- #+(date_time) ⇒ Object
- #-(date_time) ⇒ Object
- #freq_string ⇒ Object
-
#initialize(*args) ⇒ Week
constructor
A new instance of Week.
- #on_offset?(date_time) ⇒ Boolean
Constructor Details
Instance Method Details
#+(date_time) ⇒ Object
214 215 216 217 218 219 220 221 222 |
# File 'lib/daru/date_time/offsets.rb', line 214 def + date_time wday = date_time.wday distance = (@weekday - wday).abs if @weekday > wday date_time + distance + 7*(@n-1) else date_time + (7-distance) + 7*(@n -1) end end |
#-(date_time) ⇒ Object
224 225 226 227 228 229 230 231 232 |
# File 'lib/daru/date_time/offsets.rb', line 224 def - date_time wday = date_time.wday distance = (@weekday - wday).abs if @weekday >= wday date_time - ((7 - distance) + 7*(@n -1)) else date_time - (distance + 7*(@n-1)) end end |
#freq_string ⇒ Object
238 239 240 |
# File 'lib/daru/date_time/offsets.rb', line 238 def freq_string (@n == 1 ? '' : @n.to_s) + 'W' + '-' + Daru::DAYS_OF_WEEK.key(@weekday) end |
#on_offset?(date_time) ⇒ Boolean
234 235 236 |
# File 'lib/daru/date_time/offsets.rb', line 234 def on_offset? date_time date_time.wday == @weekday end |