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.
372 373 374 |
# File 'lib/daru/date_time/offsets.rb', line 372 def initialize n=1 @n = n end |
Instance Method Details
#+(date_time) ⇒ Object
380 381 382 383 384 385 386 387 388 |
# File 'lib/daru/date_time/offsets.rb', line 380 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
390 391 392 |
# File 'lib/daru/date_time/offsets.rb', line 390 def - date_time DateTime.new(date_time.year - 1, 12, 31) end |
#freq_string ⇒ Object
376 377 378 |
# File 'lib/daru/date_time/offsets.rb', line 376 def freq_string (@n == 1 ? '' : @n.to_s) + 'YE' end |
#on_offset?(date_time) ⇒ Boolean
394 395 396 |
# File 'lib/daru/date_time/offsets.rb', line 394 def on_offset? date_time date_time.month == 12 and date_time.day == 31 end |