Module: Bucketeer
- Defined in:
- lib/bucketeer.rb,
lib/bucketeer/version.rb
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
-
.bucket(set, interval) ⇒ Hash
The bucketed hash of data.
Class Method Details
.bucket(set, interval) ⇒ Hash
Returns the bucketed hash of data.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/bucketeer.rb', line 9 def self.bucket(set, interval) bucketed = Hash.new { |h, k| h[k] = 0 } set.each_pair do |time, value| milliseconds_since_epoch = time.to_i * 1000 interval_in_milliseconds = interval * 1000 time_since_last_interval = milliseconds_since_epoch % interval_in_milliseconds time_until_next_interval = interval_in_milliseconds - time_since_last_interval end_of_interval = Time.at((milliseconds_since_epoch + time_until_next_interval) / 1000) bucketed[end_of_interval] += value end bucketed end |