SUZUKI Miho
null+****@clear*****
Tue Oct 16 19:17:02 JST 2012
SUZUKI Miho 2012-10-16 19:17:02 +0900 (Tue, 16 Oct 2012) New Revision: 327755e597e380bc88df7f970c6e6ada88618cd4 https://github.com/logaling/logaling-command/commit/327755e597e380bc88df7f970c6e6ada88618cd4 Merged 6ed24d3: Merge pull request #84 from logaling/fix-deindex-glossary Log: Fix a bugs that delete the glossary that should not be deleted Modified files: lib/logaling/glossary_db.rb lib/logaling/glossary_sources/base.rb Modified: lib/logaling/glossary_db.rb (+17 -1) =================================================================== --- lib/logaling/glossary_db.rb 2012-10-12 19:06:13 +0900 (189dcb3) +++ lib/logaling/glossary_db.rb 2012-10-16 19:17:02 +0900 (ad58f71) @@ -63,7 +63,23 @@ module Logaling def deindex_glossary(glossary, glossary_source) delete_translations_by_glossary_source(glossary_source.source_path) - delete_glossary(glossary.name) + + # TODO: wannna move to Glossary#enable_delete? + glossary_source_num = 0; + get_all_glossary_sources.each do |glossary_source_taken| + if glossary_source.belongs_to_personal? && glossary_source_taken.belongs_to_personal? + if glossary_source.glossary_name == glossary_source_taken.glossary_name + glossary_source_num += 1 + end + elsif glossary_source.belongs_to_project? && glossary_source_taken.belongs_to_project? + if glossary_source.project_name == glossary_source_taken.project_name && + glossary_source.glossary_name == glossary_source_taken.glossary_name + glossary_source_num += 1 + end + end + end + delete_glossary(glossary.name) if glossary_source_num <= 1 + delete_glossary_source(glossary_source.source_path) end Modified: lib/logaling/glossary_sources/base.rb (+16 -0) =================================================================== --- lib/logaling/glossary_sources/base.rb 2012-10-12 19:06:13 +0900 (9dfced5) +++ lib/logaling/glossary_sources/base.rb 2012-10-16 19:17:02 +0900 (b1eaae0) @@ -37,6 +37,22 @@ module Logaling def mtime File.mtime(@source_path) end + + def belongs_to_personal? + @source_path =~ /.+\/personal\/.+/ ? true : false + end + + def belongs_to_project? + @source_path =~ /.+\/projects\/.+/ ? true : false + end + + def glossary_name + File.basename(@source_path).split(".", 2)[0] + end + + def project_name + @source_path =~ /.+\/projects\/([^\/]+).+/ ? $1 : nil + end end end end -------------- next part -------------- An HTML attachment was scrubbed...下載