YUKI Hiroshi
null+****@clear*****
Fri Jan 24 15:42:05 JST 2014
YUKI Hiroshi 2014-01-24 15:42:05 +0900 (Fri, 24 Jan 2014) New Revision: 9f92b8291b0d872aae870df02d8b2e152cdfe87a https://github.com/droonga/fluent-plugin-droonga/commit/9f92b8291b0d872aae870df02d8b2e152cdfe87a Message: Move apply_output_range to the base collector Modified files: lib/droonga/plugin/collector/basic.rb lib/droonga/plugin/collector/search.rb Modified: lib/droonga/plugin/collector/basic.rb (+17 -0) =================================================================== --- lib/droonga/plugin/collector/basic.rb 2014-01-24 15:37:28 +0900 (9471887) +++ lib/droonga/plugin/collector/basic.rb 2014-01-24 15:42:05 +0900 (6e8bed4) @@ -21,6 +21,8 @@ module Droonga class BasicCollector < Droonga::CollectorPlugin repository.register("basic", self) + UNLIMITED = -1.freeze + command :collector_gather def collector_gather(result) output = body ? body[input_name] : input_name @@ -57,6 +59,21 @@ module Droonga reduced_values = apply_output_range(reduced_values, "limit" => deal["limit"]) end + def apply_output_range(items, output) + if items && items.is_a?(Array) + offset = output["offset"] || 0 + unless offset.zero? + items = items[offset..-1] || [] + end + + limit = output["limit"] || 0 + unless limit == UNLIMITED + items = items[0...limit] + end + end + items + end + def merge(x, y, options={}) operators = options[:operators] = normalize_operators(options[:operators]) Modified: lib/droonga/plugin/collector/search.rb (+0 -17) =================================================================== --- lib/droonga/plugin/collector/search.rb 2014-01-24 15:37:28 +0900 (34413a2) +++ lib/droonga/plugin/collector/search.rb 2014-01-24 15:42:05 +0900 (7298963) @@ -21,8 +21,6 @@ module Droonga class SearchCollector < BasicCollector repository.register("search", self) - UNLIMITED = -1.freeze - command :collector_search_gather def collector_search_gather(result) output = body ? body[input_name] : input_name @@ -63,21 +61,6 @@ module Droonga emit(output, result) end - def apply_output_range(items, output) - if items && items.is_a?(Array) - offset = output["offset"] || 0 - unless offset.zero? - items = items[offset..-1] || [] - end - - limit = output["limit"] || 0 - unless limit == UNLIMITED - items = items[0...limit] - end - end - items - end - def apply_output_attributes_and_format(items, output) attributes = output["attributes"] if attributes -------------- next part -------------- HTML����������������������������...Download