Kouhei Sutou
kou****@clear*****
Thu Sep 12 11:37:59 JST 2013
new(options).convert(input)にするのがいいんじゃないかなぁと
思いました。
あと、Groonga::Commmand::Parserはこんな感じでストリームでパー
スできるのでしばらくしたらそっちに移行するのがいいと思います。
今だと1つのコマンドしか対応できないので。
parser = Groonga::Command::Parser.new
parser.on_command do |command|
# ...
end
parser.on_load_value do |command, value|
# ...
end
input.each_line do |line|
parser << line
end
parser.finish
使用例: https://github.com/groonga/fluent-plugin-groonga/blob/master/lib/fluent/plugin/in_groonga.rb#L252
In <142b5a290e55f0dedcb1c4af61fa6fad1a47a419 �� jenkins.clear-code.com>
"[Groonga-commit] droonga/fluent-plugin-droonga �� 142b5a2 [master] Receive options" on Thu, 12 Sep 2013 11:16:47 +0900,
YUKI Hiroshi <null+groonga �� clear-code.com> wrote:
> YUKI Hiroshi 2013-09-12 11:16:47 +0900 (Thu, 12 Sep 2013)
>
> New Revision: 142b5a290e55f0dedcb1c4af61fa6fad1a47a419
> https://github.com/droonga/fluent-plugin-droonga/commit/142b5a290e55f0dedcb1c4af61fa6fad1a47a419
>
> Message:
> Receive options
>
> Modified files:
> lib/groonga_command_converter.rb
>
> Modified: lib/groonga_command_converter.rb (+3 -1)
> ===================================================================
> --- lib/groonga_command_converter.rb 2013-09-11 19:07:30 +0900 (b1b9eb7)
> +++ lib/groonga_command_converter.rb 2013-09-12 11:16:47 +0900 (7758c48)
> @@ -24,8 +24,10 @@ module Droonga
> def initialize
> end
>
> - def convert(input, &block)
> + def convert(input, options={}, &block)
> command = Groonga::Command::Parser.parse(input)
> + @options = options
> +
> case command.name
> when "table_create"
> yield create_table_create_command(command)