[Groonga-commit] droonga/fluent-plugin-droonga at 9969318 [master] Split method to reduce elements

Back to archive index

YUKI Hiroshi null+****@clear*****
Fri Jan 24 15:05:01 JST 2014


YUKI Hiroshi	2014-01-24 15:05:01 +0900 (Fri, 24 Jan 2014)

  New Revision: 9969318cd54316bb81a2e87ed202e5331e0c1ade
  https://github.com/droonga/fluent-plugin-droonga/commit/9969318cd54316bb81a2e87ed202e5331e0c1ade

  Message:
    Split method to reduce elements

  Modified files:
    lib/droonga/plugin/collector/basic.rb

  Modified: lib/droonga/plugin/collector/basic.rb (+11 -9)
===================================================================
--- lib/droonga/plugin/collector/basic.rb    2014-01-24 14:33:56 +0900 (9909413)
+++ lib/droonga/plugin/collector/basic.rb    2014-01-24 15:05:01 +0900 (dc89d72)
@@ -105,31 +105,33 @@ module Droonga
       body[input_name].each do |output, elements|
         value = request
         old_value = output_values[output]
-        value = reduce(elements, old_value, request) if old_value
+        value = reduce_elements(elements, old_value, request) if old_value
         emit(output, value)
       end
     end
 
-    def reduce(elements, *values)
+    def reduce_elements(elements, left_values, right_values)
       result = {}
       elements.each do |key, deal|
+        result[key] = reduce(deal, left_values[key], right_values[key])
+      end
+      result
+    end
+
+    def reduce(deal, left_value, right_value)
         reduced_values = nil
 
         case deal["type"]
         when "sum"
-          reduced_values = values[0][key] + values[1][key]
+          reduced_values = left_value + right_value
         when "sort"
-          reduced_values = merge(values[0][key],
-                                 values[1][key],
+          reduced_values = merge(left_value,
+                                 right_value,
                                  :operators => deal["operators"],
                                  :key_column => deal["key_column"])
         end
 
         reduced_values = apply_output_range(reduced_values, "limit" => deal["limit"])
-
-        result[key] = reduced_values
-      end
-      return result
     end
 
     def merge(x, y, options={})
-------------- next part --------------
HTML����������������������������...
Télécharger 



More information about the Groonga-commit mailing list
Back to archive index