[Groonga-commit] groonga/fluent-plugin-groonga [master] in: use Groonga::Command::Parser

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Nov 26 23:22:35 JST 2012


Kouhei Sutou	2012-11-26 23:22:35 +0900 (Mon, 26 Nov 2012)

  New Revision: 8e87099bd337b66d99371d774cdd4111690b50ce
  https://github.com/groonga/fluent-plugin-groonga/commit/8e87099bd337b66d99371d774cdd4111690b50ce

  Log:
    in: use Groonga::Command::Parser

  Modified files:
    lib/fluent/plugin/in_groonga.rb

  Modified: lib/fluent/plugin/in_groonga.rb (+11 -6)
===================================================================
--- lib/fluent/plugin/in_groonga.rb    2012-11-26 23:21:41 +0900 (98b5531)
+++ lib/fluent/plugin/in_groonga.rb    2012-11-26 23:22:35 +0900 (7960d3b)
@@ -234,20 +234,25 @@ module Fluent
         end
 
         def on_body(chunk)
-          @body << chunk
+          @command_parser << chunk
         end
 
         def on_complete
-          command_line, body =****@body*****(/\n/, 2)
-          return if command_line.nil?
-          command = Groonga::Command::Parser.parse(command_line.strip)
-          @input.emit(command.name, command.arguments, body)
+          @command_parser.finish
         end
 
         private
         def reset
           super
-          @body = ""
+          @command_parser = Groonga::Command::Parser.new
+          @command_parser.on_command do |command|
+            @input.emit(command.name, command.arguments)
+          end
+          @command_parser.on_load_value do |command, value|
+            arguments = command.arguments.dup
+            arguments[:values] = Yajl::Encoder.encode([value])
+            @input.emit(command.name, arguments)
+          end
         end
       end
     end
-------------- next part --------------
HTML����������������������������...
Download 



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