Class: DateBreakup

Inherits:
Object
  • Object
show all
Defined in:
lib/date_breakup.rb

Constant Summary collapse

VERSION =
'3.1.0'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(start_date, end_date) ⇒ DateBreakup

Returns a new instance of DateBreakup.

Raises:

  • (ArgumentError)


12
13
14
15
16
17
# File 'lib/date_breakup.rb', line 12

def initialize(start_date, end_date)
  raise ArgumentError, 'start_date must be before or equal to end_date' if start_date > end_date

  @start_date = start_date
  @end_date   = end_date
end

Class Method Details

.between(start_date, end_date) ⇒ Object



8
9
10
# File 'lib/date_breakup.rb', line 8

def self.between(start_date, end_date)
  new(coerce_to_date(start_date), coerce_to_date(end_date))
end

Instance Method Details

#in_daysObject



22
# File 'lib/date_breakup.rb', line 22

def in_days   = build_breakdown(years: false, months: false, weeks: false)

#in_monthsObject



20
# File 'lib/date_breakup.rb', line 20

def in_months = build_breakdown(years: false, months: true,  weeks: true)

#in_weeksObject



21
# File 'lib/date_breakup.rb', line 21

def in_weeks  = build_breakdown(years: false, months: false, weeks: true)

#in_yearsObject



19
# File 'lib/date_breakup.rb', line 19

def in_years  = build_breakdown(years: true,  months: true,  weeks: true)