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