aboutsummaryrefslogtreecommitdiffstats
path: root/lib/date_quarter.rb
blob: ac159b420dc442a1a011cc44c51768b6163ed221 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module DateQuarter
    extend self

    def quarters_between(start_at, finish_at)
        results = []

        quarter_start = start_at.beginning_of_quarter
        quarter_end   = start_at.end_of_quarter

        while quarter_end <= finish_at.end_of_quarter do
          # Collect these
          results << [quarter_start, quarter_end]

          # Update dates
          quarter_start = quarter_end + 1.second
          quarter_end = quarter_start.end_of_quarter
        end

        results
    end

end