[logaling-commit] logaling/logaling-command [master] Fix a bugs that delete the glossary that should not be deleted

Back to archive index

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...
Download 



More information about the logaling-commit mailing list
Back to archive index