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-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.2"
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ Parser
Returns a new instance of Parser.
120
121
122
123
|
# File 'lib/groonga/command/parser.rb', line 120
def initialize
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.
127
128
129
130
131
|
# File 'lib/groonga/command/parser.rb', line 127
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.
135
136
137
138
139
140
141
142
143
144
145
|
# File 'lib/groonga/command/parser.rb', line 135
def finish
if @loading
raise Error.new("not completed",
@command.original_source.lines.to_a.last,
"")
else
catch do |tag|
parse_line(@buffer)
end
end
end
|
#on_command(command) ⇒ Object
#on_command({|command| }) ⇒ Object
149
150
151
152
153
154
155
|
# File 'lib/groonga/command/parser.rb', line 149
def on_command(*arguments, &block)
if block_given?
@on_command_hook = block
else
@on_command_hook.call(*arguments) if @on_command_hook
end
end
|
199
200
201
202
203
204
205
|
# File 'lib/groonga/command/parser.rb', line 199
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
169
170
171
172
173
174
175
|
# File 'lib/groonga/command/parser.rb', line 169
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
189
190
191
192
193
194
195
|
# File 'lib/groonga/command/parser.rb', line 189
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
159
160
161
162
163
164
165
|
# File 'lib/groonga/command/parser.rb', line 159
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
179
180
181
182
183
184
185
|
# File 'lib/groonga/command/parser.rb', line 179
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
|