YUKI Hiroshi
null+****@clear*****
Sat Jun 28 00:20:56 JST 2014
YUKI Hiroshi 2014-06-28 00:20:56 +0900 (Sat, 28 Jun 2014) New Revision: 22cf0973602c4990f098c3d1d3916e53557d92ad https://github.com/droonga/droonga-engine/commit/22cf0973602c4990f098c3d1d3916e53557d92ad Message: Move logic to modify catalog params to CatalogGenerator Modified files: bin/droonga-engine-catalog-modify lib/droonga/catalog_generator.rb Modified: bin/droonga-engine-catalog-modify (+4 -17) =================================================================== --- bin/droonga-engine-catalog-modify 2014-06-27 23:48:48 +0900 (9e74fdc) +++ bin/droonga-engine-catalog-modify 2014-06-28 00:20:56 +0900 (8031253) @@ -89,22 +89,9 @@ def load_source(path) end source_catalog = load_source(options.source_path) -dataset_params = generator.catalog_to_params(source_catalog) -datasets.each do |name, options| - dataset = dataset_params[name] - - dataset[:hosts] = options[:hosts] if options[:hosts] - - if options[:add_replica_hosts] - dataset[:hosts] += options[:add_replica_hosts] - dataset[:hosts].uniq! - end - if options[:remove_replica_hosts] - dataset[:hosts] -= options[:remove_replica_hosts] - end - - generator.add_dataset(name, dataset) -end +source_params = generator.catalog_to_params(source_catalog) +modified_params = Droonga::CatalogGenerator.update_params(source_params, datasets) +modified_catalog = Droonga::CatalogGenerator.generate(modified_params) def open_output(path) if path == "-" @@ -118,5 +105,5 @@ end catalog = generator.generate open_output(options.output_path) do |output| - output.puts(JSON.pretty_generate(catalog)) + output.puts(JSON.pretty_generate(modified_catalog)) end Modified: lib/droonga/catalog_generator.rb (+17 -0) =================================================================== --- lib/droonga/catalog_generator.rb 2014-06-27 23:48:48 +0900 (671bb33) +++ lib/droonga/catalog_generator.rb 2014-06-28 00:20:56 +0900 (28d6fd3) @@ -28,6 +28,23 @@ module Droonga def generate(datasets_params) new(datasets_params).generate end + + def update_params(base_params, modifications) + params = Marshal.load(Marshal.dump(base_params)) + modifications.each do |name, modification| + dataset = params[name] + dataset[:hosts] = modification[:hosts] if modification[:hosts] + + if modification[:add_replica_hosts] + dataset[:hosts] += modification[:add_replica_hosts] + dataset[:hosts].uniq! + end + if modification[:remove_replica_hosts] + dataset[:hosts] -= modification[:remove_replica_hosts] + end + end + params + end end def initialize(datasets_params=nil) -------------- next part -------------- HTML����������������������������... 下载