Module: Granulate::ClassMethods

Defined in:
lib/3scale_time_range/granulate.rb

Constant Summary collapse

GRANULARITIES =
[:year, :month, :day, :hour]

Instance Method Summary collapse

Instance Method Details

#granulate(range) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/3scale_time_range/granulate.rb', line 9

def granulate(range)
  result = { rest: [] }
  GRANULARITIES.each do |granularity|
    result[(granularity.to_s + 's').to_sym] = []
  end
  time_range = TimeRange.new(range.begin, range.end, range.exclude_end?)
  extract(time_range, GRANULARITIES.first, result)
  result
end