Class: Daru::Offsets::YearEnd
- Inherits:
-
DateOffset
- Object
- DateOffset
- Daru::Offsets::YearEnd
- Defined in:
- lib/daru/date_time/offsets.rb
Overview
Create a year end offset
Instance Method Summary collapse
- #+(date_time) ⇒ Object
- #-(date_time) ⇒ Object
- #freq_string ⇒ Object
-
#initialize(n = 1) ⇒ YearEnd
constructor
A new instance of YearEnd.
- #on_offset?(date_time) ⇒ Boolean
Constructor Details
#initialize(n = 1) ⇒ YearEnd
Returns a new instance of YearEnd.
370 371 372 |
# File 'lib/daru/date_time/offsets.rb', line 370 def initialize n=1 @n = n end |
Instance Method Details
#+(date_time) ⇒ Object
378 379 380 381 382 383 384 385 386 |
# File 'lib/daru/date_time/offsets.rb', line 378 def + date_time if on_offset?(date_time) DateTime.new(date_time.year + @n, 12, 31, date_time.hour, date_time.min, date_time.sec) else DateTime.new(date_time.year + (@n-1), 12, 31, date_time.hour, date_time.min, date_time.sec) end end |
#-(date_time) ⇒ Object
388 389 390 |
# File 'lib/daru/date_time/offsets.rb', line 388 def - date_time DateTime.new(date_time.year - 1, 12, 31) end |
#freq_string ⇒ Object
374 375 376 |
# File 'lib/daru/date_time/offsets.rb', line 374 def freq_string (@n == 1 ? '' : @n.to_s) + 'YE' end |
#on_offset?(date_time) ⇒ Boolean
392 393 394 |
# File 'lib/daru/date_time/offsets.rb', line 392 def on_offset? date_time date_time.month == 12 and date_time.day == 31 end |