Class: Groonga::Command::Parser
- Inherits:
-
Object
- Object
- Groonga::Command::Parser
show all
- Defined in:
- lib/groonga/command/parser.rb,
lib/groonga/command/parser/error.rb,
lib/groonga/command/parser/version.rb,
lib/groonga/command/parser/load-values-parser.rb,
lib/groonga/command/parser/command-line-splitter.rb,
lib/groonga/command/parser/command/groonga-command-filter.rb,
lib/groonga/command/parser/command/groonga-command-logicalify.rb,
lib/groonga/command/parser/command/groonga-command-convert-format.rb
Defined Under Namespace
Modules: Command
Classes: CommandLineSplitter, Error, LoadValuesParser
Constant Summary
collapse
- VERSION =
"1.1.6"
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ Parser
Returns a new instance of Parser.
126
127
128
129
130
|
# File 'lib/groonga/command/parser.rb', line 126
def initialize(options={})
@need_original_source = options.fetch(:need_original_source, true)
reset
initialize_hooks
end
|
Class Method Details
parses groonga command or HTTP (starts with “/d/”) command.
48
49
50
51
52
53
54
|
# File 'lib/groonga/command/parser.rb', line 48
def parse(data, &block)
if block_given?
event_parse(data, &block)
else
stand_alone_parse(data)
end
end
|
Instance Method Details
#<<(chunk) ⇒ Object
Streaming parsing command.
134
135
136
137
138
|
# File 'lib/groonga/command/parser.rb', line 134
def <<(chunk)
@buffer << chunk
@buffer.force_encoding("ASCII-8BIT")
consume_buffer
end
|
#finish ⇒ Object
Finishes parsing. If Parser is loading values specified “load”
command, this method raises Error.
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# File 'lib/groonga/command/parser.rb', line 142
def finish
if @loading
original_source = @command.original_source
if original_source
last_line = original_source.lines.to_a.last
else
last_line = ""
end
raise Error.new("not completed", last_line, "")
else
catch do |tag|
parse_line(@buffer)
end
end
end
|
#on_command(command) ⇒ Object
#on_command({|command| }) ⇒ Object
160
161
162
163
164
165
166
|
# File 'lib/groonga/command/parser.rb', line 160
def on_command(*arguments, &block)
if block_given?
@on_command_hook = block
else
@on_command_hook.call(*arguments) if @on_command_hook
end
end
|
210
211
212
213
214
215
216
|
# File 'lib/groonga/command/parser.rb', line 210
def (*arguments, &block)
if block_given?
@on_comment_hook = block
else
@on_comment_hook.call(*arguments) if @on_comment_hook
end
end
|
#on_load_columns(command) ⇒ Object
#on_load_columns({|command| }) ⇒ Object
180
181
182
183
184
185
186
|
# File 'lib/groonga/command/parser.rb', line 180
def on_load_columns(*arguments, &block)
if block_given?
@on_load_columns_hook = block
else
@on_load_columns_hook.call(*arguments) if @on_load_columns_hook
end
end
|
#on_load_complete(command) ⇒ Object
#on_load_complete(command) ⇒ Object
200
201
202
203
204
205
206
|
# File 'lib/groonga/command/parser.rb', line 200
def on_load_complete(*arguments, &block)
if block_given?
@on_load_complete_hook = block
else
@on_load_complete_hook.call(*arguments) if @on_load_complete_hook
end
end
|
#on_load_start(command) ⇒ Object
#on_load_start({|command| }) ⇒ Object
170
171
172
173
174
175
176
|
# File 'lib/groonga/command/parser.rb', line 170
def on_load_start(*arguments, &block)
if block_given?
@on_load_start_hook = block
else
@on_load_start_hook.call(*arguments) if @on_load_start_hook
end
end
|
#on_load_value(command) ⇒ Object
#on_load_value({|command| }) ⇒ Object
190
191
192
193
194
195
196
|
# File 'lib/groonga/command/parser.rb', line 190
def on_load_value(*arguments, &block)
if block_given?
@on_load_value_hook = block
else
@on_load_value_hook.call(*arguments) if @on_load_value_hook
end
end
|