[Groonga-commit] groonga/grntest [master] Translater: Extract methods to translate arguments for commands

Back to archive index

null+****@clear***** null+****@clear*****
2012年 6月 5日 (火) 15:07:15 JST


Haruka Yoshihara	2012-06-05 15:07:15 +0900 (Tue, 05 Jun 2012)

  New Revision: a54cc6d6809e76726978b02108c1ea3f3dc9a4b0

  Log:
    Translater: Extract methods to translate arguments for commands

  Modified files:
    lib/groonga/tester.rb

  Modified: lib/groonga/tester.rb (+30 -23)
===================================================================
--- lib/groonga/tester.rb    2012-06-05 14:26:00 +0900 (1036268)
+++ lib/groonga/tester.rb    2012-06-05 15:07:15 +0900 (db05820)
@@ -640,7 +640,6 @@ module Groonga
               load_values = ""
             end
           else
-            last_argument = ""
             command = command.gsub(/,\s/, ",")
             arguments = command.split(/(\s'.+?'\s|\s)/).collect(&:strip)
             now_command = arguments.shift
@@ -650,27 +649,7 @@ module Groonga
               load_values = ""
             end
 
-            arguments_count = 0
-            last_command = ""
-            arguments.each do |argument|
-              next if argument.empty?
-              if argument =~ /\A--/
-                last_command = argument.sub(/\A--/, "")
-                next
-              end
-
-              if last_command.empty?
-                query_parameter =
-                  arguments_name(now_command)[arguments_count]
-              else
-                query_parameter = last_command
-              end
-
-              value = argument.gsub(/'/, "")
-              translated_values << "#{query_parameter}=#{value}"
-              arguments_count += 1
-              last_command = ""
-            end
+            translated_values = translate_arguments(now_command, arguments)
           end
 
           unless loading
@@ -679,13 +658,41 @@ module Groonga
               translated_command << "?#{translated_values.join("&")}"
             end
             translated_commands << translated_command
-            translated_values = []
           end
         end
         translated_commands.join
       end
 
       private
+      def translate_arguments(now_command, arguments)
+        return [] if arguments.empty?
+        translated_values = []
+        last_argument = ""
+
+        arguments_count = 0
+        last_command = ""
+        arguments.each do |argument|
+          next if argument.empty?
+          if argument =~ /\A--/
+            last_command = argument.sub(/\A--/, "")
+            next
+          end
+
+          if last_command.empty?
+            query_parameter =
+              arguments_name(now_command)[arguments_count]
+          else
+            query_parameter = last_command
+          end
+
+          value = argument.gsub(/'/, "")
+          translated_values << "#{query_parameter}=#{value}"
+          arguments_count += 1
+          last_command = ""
+        end
+        translated_values
+      end
+
       def arguments_name(command)
         case command
         when "table_create"




Groonga-commit メーリングリストの案内
Back to archive index