4 # Before function is run processing
7 @result[:type] = :collection
9 # set default aggregate_format if it is undefined
10 @aggregate_format = :calculate unless @aggregate_format
13 # Increments the value field if value has been seen before
14 # Else create a new value field
15 def process_result(value, reply)
18 value.map{|val| add_value(val)}
26 if @result[:value].keys.include?(value)
27 @result[:value][value] += 1
29 @result[:value][value] = 1
34 if @aggregate_format == :calculate
35 max_key_length = @result[:value].keys.map do |k|
37 # Response values retain their types. Here we check
38 # if the response is a string and turn it into a string
40 if k.respond_to?(:length)
42 elsif k.respond_to?(:to_s)
46 @aggregate_format = "%#{max_key_length}s = %s"