Class: Downsampler::DownsampledHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/downsampler/downsampled_hash.rb

Instance Method Summary collapse

Instance Method Details

#countsObject



20
21
22
23
24
25
# File 'lib/downsampler/downsampled_hash.rb', line 20

def counts
  inject({}) do |initial, (key, value)|
    initial[key] = value.count
    initial
  end
end

#max_by(&block) ⇒ Object



27
28
29
30
31
32
# File 'lib/downsampler/downsampled_hash.rb', line 27

def max_by &block
  inject({}) do |initial, (key, value)|
    initial[key] = value.max_by(&block).instance_eval &block
    initial
  end
end

#mean(&block) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/downsampler/downsampled_hash.rb', line 4

def mean &block
  inject({}) do |initial, (key, value)|
    result = value.dup.extend(EnumerableExt).mean(&block) if value.is_a?(Array)
    initial[key] = result
    initial
  end
end

#min_by(&block) ⇒ Object



34
35
36
37
38
39
# File 'lib/downsampler/downsampled_hash.rb', line 34

def min_by &block
  inject({}) do |initial, (key, value)|
    initial[key] = value.max_by(&block).instance_eval &block
    initial
  end
end

#sum(&block) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/downsampler/downsampled_hash.rb', line 12

def sum &block
  inject({}) do |initial, (key, value)|
    result = value.dup.extend(EnumerableExt).sum(&block) if value.is_a?(Array)
    initial[key] = result
    initial
  end
end