Kouhei Sutou
kou****@clear*****
Tue Mar 24 13:52:27 JST 2015
> Accept parsed catalog as the source of CatalogModifier 外から渡すこともできるし、自分で読み込むこともできるとするよ りは、「必ず外から渡すこと」にした方が責任範囲が明確になるの で、そっちのほうがよいと思います。 (全体の構成をあんまりわからずに書いているので、「自分で読み 込む」方が適切かもしれないけど、「catalogオブジェクトを作る」 役割を持つか持たないかのどっちかに寄せたほうがいいと思う、と いうことを言いたい。) In <49a100429f16f88115ba25b8caa17039ef4259cf �� jenkins.clear-code.com> "[Groonga-commit] droonga/droonga-engine �� 49a1004 [master] Accept parsed catalog as the source of CatalogModifier" on Tue, 24 Mar 2015 13:00:58 +0900, YUKI Hiroshi <null+groonga �� clear-code.com> wrote: > YUKI Hiroshi 2015-03-24 13:00:58 +0900 (Tue, 24 Mar 2015) > > New Revision: 49a100429f16f88115ba25b8caa17039ef4259cf > https://github.com/droonga/droonga-engine/commit/49a100429f16f88115ba25b8caa17039ef4259cf > > Message: > Accept parsed catalog as the source of CatalogModifier > > Modified files: > lib/droonga/catalog_modifier.rb > > Modified: lib/droonga/catalog_modifier.rb (+4 -4) > =================================================================== > --- lib/droonga/catalog_modifier.rb 2015-03-23 20:02:12 +0900 (e747c9b) > +++ lib/droonga/catalog_modifier.rb 2015-03-24 13:00:58 +0900 (fbcbdc4) > @@ -22,16 +22,16 @@ require "droonga/safe_file_writer" > module Droonga > class CatalogModifier > class << self > - def modify > - new.modify do |generator, file| > + def modify(source_catalog=nil) > + new(source_catalog).modify do |generator, file| > yield(generator, file) > end > end > end > > - def initialize > + def initialize(source_catalog=nil) > @generator = CatalogGenerator.new > - @catalog = JSON.parse(Path.catalog.read) > + @catalog = source_catalog || JSON.parse(Path.catalog.read) > @generator.load(@catalog) > end >