Class: Daru::Offsets::YearBegin
- Inherits:
-
DateOffset
- Object
- DateOffset
- Daru::Offsets::YearBegin
- Defined in:
- lib/daru/date_time/offsets.rb
Overview
Create a year begin offset
Instance Method Summary collapse
- #+(date_time) ⇒ Object
- #-(date_time) ⇒ Object
- #freq_string ⇒ Object
-
#initialize(n = 1) ⇒ YearBegin
constructor
A new instance of YearBegin.
- #on_offset?(date_time) ⇒ Boolean
Constructor Details
#initialize(n = 1) ⇒ YearBegin
Returns a new instance of YearBegin.
337 338 339 |
# File 'lib/daru/date_time/offsets.rb', line 337 def initialize n=1 @n = n end |
Instance Method Details
#+(date_time) ⇒ Object
345 346 347 348 |
# File 'lib/daru/date_time/offsets.rb', line 345 def + date_time DateTime.new(date_time.year + @n, 1, 1, date_time.hour,date_time.min, date_time.sec) end |
#-(date_time) ⇒ Object
350 351 352 353 354 355 356 357 |
# File 'lib/daru/date_time/offsets.rb', line 350 def - date_time if on_offset?(date_time) DateTime.new(date_time.year - @n, 1, 1, date_time.hour,date_time.min, date_time.sec) else DateTime.new(date_time.year - (@n-1), 1, 1) end end |
#freq_string ⇒ Object
341 342 343 |
# File 'lib/daru/date_time/offsets.rb', line 341 def freq_string (@n == 1 ? '' : @n.to_s) + 'YB' end |
#on_offset?(date_time) ⇒ Boolean
359 360 361 |
# File 'lib/daru/date_time/offsets.rb', line 359 def on_offset? date_time date_time.month == 1 and date_time.day == 1 end |