YUKI Hiroshi
null+****@clear*****
Fri May 9 11:14:31 JST 2014
YUKI Hiroshi 2014-05-09 11:14:31 +0900 (Fri, 09 May 2014) New Revision: b7531057f8c9595b7c76b306ffbff61b32539aec https://github.com/droonga/droonga-engine/commit/b7531057f8c9595b7c76b306ffbff61b32539aec Message: Add "all_nodes" method to collect all defined nodes in a catalog Modified files: lib/droonga/catalog/collection_volume.rb lib/droonga/catalog/dataset.rb lib/droonga/catalog/single_volume.rb lib/droonga/catalog/slice.rb lib/droonga/catalog/version1.rb lib/droonga/catalog/version2.rb lib/droonga/catalog/volume_collection.rb Modified: lib/droonga/catalog/collection_volume.rb (+8 -0) =================================================================== --- lib/droonga/catalog/collection_volume.rb 2014-05-08 20:01:21 +0900 (b531b30) +++ lib/droonga/catalog/collection_volume.rb 2014-05-09 11:14:31 +0900 (ef8cc1a) @@ -69,6 +69,14 @@ module Droonga slicer == "hash" end + def all_nodes + nodes = [] + slices.each do |slice| + nodes += slice.all_nodes + end + nodes.uniq.sort + end + private def compute_continuum total_weight = compute_total_weight Modified: lib/droonga/catalog/dataset.rb (+4 -0) =================================================================== --- lib/droonga/catalog/dataset.rb 2014-05-08 20:01:21 +0900 (b010492) +++ lib/droonga/catalog/dataset.rb 2014-05-09 11:14:31 +0900 (62b79af) @@ -58,6 +58,10 @@ module Droonga @replicas ||= VolumeCollection.new(create_volumes(@data["replicas"])) end + def all_nodes + replicas.all_nodes + end + private def create_volumes(raw_volumes) raw_volumes.collect do |raw_volume| Modified: lib/droonga/catalog/single_volume.rb (+4 -0) =================================================================== --- lib/droonga/catalog/single_volume.rb 2014-05-08 20:01:21 +0900 (f9357ec) +++ lib/droonga/catalog/single_volume.rb 2014-05-09 11:14:31 +0900 (c851266) @@ -23,6 +23,10 @@ module Droonga def address @data["address"] end + + def all_nodes + [address.split("/").first] + end end end end Modified: lib/droonga/catalog/slice.rb (+4 -0) =================================================================== --- lib/droonga/catalog/slice.rb 2014-05-08 20:01:21 +0900 (1e61645) +++ lib/droonga/catalog/slice.rb 2014-05-09 11:14:31 +0900 (94e9b3a) @@ -36,6 +36,10 @@ module Droonga def volume @volume ||= Volume.create(@dataset, @data["volume"]) end + + def all_nodes + volume.all_nodes + end end end end Modified: lib/droonga/catalog/version1.rb (+8 -0) =================================================================== --- lib/droonga/catalog/version1.rb 2014-05-08 20:01:21 +0900 (3f51a4f) +++ lib/droonga/catalog/version1.rb 2014-05-09 11:14:31 +0900 (712bbd4) @@ -115,6 +115,14 @@ module Droonga end end + def all_nodes + nodes = [] + @datasets.each do |dataset| + nodes += dataset.all_nodes + end + nodes.sort.uniq + end + private def prepare_data @datasets = {} Modified: lib/droonga/catalog/version2.rb (+8 -0) =================================================================== --- lib/droonga/catalog/version2.rb 2014-05-08 20:01:21 +0900 (df9f8a6) +++ lib/droonga/catalog/version2.rb 2014-05-09 11:14:31 +0900 (84cb1a8) @@ -79,6 +79,14 @@ module Droonga routes end + def all_nodes + nodes = [] + @datasets.each do |dataset| + nodes += dataset.all_nodes + end + nodes.sort.uniq + end + private def validate validator = Version2Validator.new(@data, @path) Modified: lib/droonga/catalog/volume_collection.rb (+8 -0) =================================================================== --- lib/droonga/catalog/volume_collection.rb 2014-05-08 20:01:21 +0900 (478e782) +++ lib/droonga/catalog/volume_collection.rb 2014-05-09 11:14:31 +0900 (0eb9194) @@ -51,6 +51,14 @@ module Droonga super end end + + def all_nodes + nodes = [] + @volumes.each do |volume| + nodes += volume.all_nodes + end + nodes.sort.uniq + end end end end -------------- next part -------------- HTML����������������������������...下載