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.4"
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ Parser
Returns a new instance of Parser.
120
121
122
123
124
|
# File 'lib/groonga/command/parser.rb', line 120
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.
42
43
44
45
46
47
48
|
# File 'lib/groonga/command/parser.rb', line 42
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.
128
129
130
131
132
|
# File 'lib/groonga/command/parser.rb', line 128
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.
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# File 'lib/groonga/command/parser.rb', line 136
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
154
155
156
157
158
159
160
|
# File 'lib/groonga/command/parser.rb', line 154
def on_command(*arguments, &block)
if block_given?
@on_command_hook = block
else
@on_command_hook.call(*arguments) if @on_command_hook
end
end
|
204
205
206
207
208
209
210
|
# File 'lib/groonga/command/parser.rb', line 204
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
174
175
176
177
178
179
180
|
# File 'lib/groonga/command/parser.rb', line 174
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
194
195
196
197
198
199
200
|
# File 'lib/groonga/command/parser.rb', line 194
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
164
165
166
167
168
169
170
|
# File 'lib/groonga/command/parser.rb', line 164
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
184
185
186
187
188
189
190
|
# File 'lib/groonga/command/parser.rb', line 184
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
|