groonga-command-parser 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +15 -2
- data/doc/text/news.md +8 -0
- data/groonga-command-parser.gemspec +2 -9
- data/lib/groonga/command/parser/load-values-parser.rb +30 -74
- data/lib/groonga/command/parser/version.rb +2 -2
- data/lib/groonga/command/parser.rb +8 -2
- data/test/groonga-command-parser-test-utils.rb +2 -4
- data/test/test-load-value-parser.rb +2 -1
- data/test/test-parser.rb +13 -10
- metadata +6 -93
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d2732d80ac847ecb242974d4c41f668b16127259aa9a00b6b08cc9df1c98dc1
|
|
4
|
+
data.tar.gz: 4a343d65d98ab9921ddb8772ec567c6dfafd43e4010df282a0da7c5e18a7ab03
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d8e207e4f3b9840ecd63cf2e8ef85c863d20d1a0e2ba0e7962ac7c9080fe203beb2c55e982dc210d7c602d5af7a69f2017e9fa6d24ff56e7d3f822255bf66c4d
|
|
7
|
+
data.tar.gz: 53d721be38d3c803d01659d06f72b3226bd2c47a6e28be0da165888b1ccefb67ca027b8c08997b9e8c99b8d447e7645d87595c82ce9b929f08f3207975555f39
|
data/Gemfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# -*-
|
|
1
|
+
# -*- ruby -*-
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2012 Kouhei
|
|
3
|
+
# Copyright (C) 2012-2026 Sutou Kouhei <kou@clear-code.com>
|
|
4
4
|
#
|
|
5
5
|
# This library is free software; you can redistribute it and/or
|
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -19,3 +19,16 @@
|
|
|
19
19
|
source "https://rubygems.org/"
|
|
20
20
|
|
|
21
21
|
gemspec
|
|
22
|
+
|
|
23
|
+
gem "json", git: "https://github.com/ruby/json.git"
|
|
24
|
+
|
|
25
|
+
group :development do
|
|
26
|
+
gem "kramdown"
|
|
27
|
+
gem "packnga"
|
|
28
|
+
gem "rake"
|
|
29
|
+
gem "yard"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
group :test do
|
|
33
|
+
gem "test-unit"
|
|
34
|
+
end
|
data/doc/text/news.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- mode: ruby -*-
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2012-
|
|
3
|
+
# Copyright (C) 2012-2026 Sutou Kouhei <kou@clear-code.com>
|
|
4
4
|
#
|
|
5
5
|
# This library is free software; you can redistribute it and/or
|
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -53,13 +53,6 @@ Gem::Specification.new do |spec|
|
|
|
53
53
|
spec.require_paths = ["lib"]
|
|
54
54
|
|
|
55
55
|
spec.add_runtime_dependency("groonga-command", ">= 1.4.0")
|
|
56
|
-
spec.add_runtime_dependency("json
|
|
57
|
-
|
|
58
|
-
spec.add_development_dependency("test-unit")
|
|
59
|
-
spec.add_development_dependency("rake")
|
|
60
|
-
spec.add_development_dependency("bundler")
|
|
61
|
-
spec.add_development_dependency("packnga")
|
|
62
|
-
spec.add_development_dependency("yard")
|
|
63
|
-
spec.add_development_dependency("kramdown")
|
|
56
|
+
spec.add_runtime_dependency("json", ">= 2.20.0")
|
|
64
57
|
end
|
|
65
58
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2015-
|
|
1
|
+
# Copyright (C) 2015-2026 Sutou Kouhei <kou@clear-code.com>
|
|
2
2
|
#
|
|
3
3
|
# This library is free software; you can redistribute it and/or
|
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# License along with this library; if not, write to the Free Software
|
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
16
16
|
|
|
17
|
-
require "json
|
|
17
|
+
require "json"
|
|
18
18
|
|
|
19
19
|
module Groonga
|
|
20
20
|
module Command
|
|
@@ -24,35 +24,44 @@ module Groonga
|
|
|
24
24
|
attr_writer :on_consumed
|
|
25
25
|
attr_writer :on_end
|
|
26
26
|
def initialize
|
|
27
|
-
|
|
27
|
+
@parser = JSON::ResumableParser.new
|
|
28
28
|
@on_value = nil
|
|
29
29
|
@on_consumed = nil
|
|
30
30
|
@on_end = nil
|
|
31
|
-
@
|
|
32
|
-
@keys = []
|
|
31
|
+
@n_processed_values = 0
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
def <<(data)
|
|
36
35
|
data_size = data.bytesize
|
|
37
36
|
return self if data_size.zero?
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
@parser << data
|
|
39
|
+
begin
|
|
40
|
+
done = @parser.parse
|
|
41
|
+
rescue JSON::ParserError => error
|
|
42
|
+
consumed = data_size - @parser.rest.bytesize
|
|
43
|
+
raise Error.new(error.message,
|
|
44
|
+
data[0, consumed],
|
|
45
|
+
data[consumed..-1])
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
if done
|
|
49
|
+
@parser.value[@n_processed_values..-1].each do |value|
|
|
50
|
+
@on_value.call(value)
|
|
51
|
+
end
|
|
52
|
+
@n_processed_values = 0
|
|
53
|
+
else
|
|
54
|
+
partial_value = @parser.partial_value
|
|
55
|
+
if partial_value
|
|
56
|
+
partial_value[@n_processed_values..-2].each do |value|
|
|
57
|
+
@on_value.call(value)
|
|
58
|
+
end
|
|
59
|
+
@n_processed_values = partial_value.size - 1
|
|
50
60
|
end
|
|
51
|
-
:continue
|
|
52
61
|
end
|
|
53
62
|
|
|
54
|
-
|
|
55
|
-
consumed
|
|
63
|
+
consumed = data.bytesize
|
|
64
|
+
consumed -= @parser.rest.bytesize if done
|
|
56
65
|
if consumed > 0
|
|
57
66
|
if consumed < data_size
|
|
58
67
|
@on_consumed.call(data[0, consumed])
|
|
@@ -60,7 +69,8 @@ module Groonga
|
|
|
60
69
|
@on_consumed.call(data)
|
|
61
70
|
end
|
|
62
71
|
end
|
|
63
|
-
|
|
72
|
+
|
|
73
|
+
if done
|
|
64
74
|
if consumed < data_size
|
|
65
75
|
@on_end.call(data[consumed..-1])
|
|
66
76
|
else
|
|
@@ -70,60 +80,6 @@ module Groonga
|
|
|
70
80
|
|
|
71
81
|
self
|
|
72
82
|
end
|
|
73
|
-
|
|
74
|
-
private
|
|
75
|
-
def initialize_parser
|
|
76
|
-
@parser = JSON::Stream::Parser.new
|
|
77
|
-
@parser.singleton_class.__send__(:attr_reader, :pos)
|
|
78
|
-
@parser.end_document do
|
|
79
|
-
throw(@tag, :done)
|
|
80
|
-
end
|
|
81
|
-
@parser.start_object do
|
|
82
|
-
push_container({})
|
|
83
|
-
end
|
|
84
|
-
@parser.end_object do
|
|
85
|
-
pop_container
|
|
86
|
-
end
|
|
87
|
-
@parser.start_array do
|
|
88
|
-
push_container([])
|
|
89
|
-
end
|
|
90
|
-
@parser.end_array do
|
|
91
|
-
pop_container
|
|
92
|
-
end
|
|
93
|
-
@parser.key do |key|
|
|
94
|
-
push_key(key)
|
|
95
|
-
end
|
|
96
|
-
@parser.value do |value|
|
|
97
|
-
push_value(value)
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
def push_container(container)
|
|
102
|
-
@containers.push(container)
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def pop_container
|
|
106
|
-
container = @containers.pop
|
|
107
|
-
if @containers.size == 1
|
|
108
|
-
@on_value.call(container)
|
|
109
|
-
else
|
|
110
|
-
push_value(container)
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def push_key(key)
|
|
115
|
-
@keys.push(key)
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
def push_value(value)
|
|
119
|
-
container = @containers.last
|
|
120
|
-
case container
|
|
121
|
-
when ::Hash
|
|
122
|
-
container[@keys.pop] = value
|
|
123
|
-
when ::Array
|
|
124
|
-
container.push(value)
|
|
125
|
-
end
|
|
126
|
-
end
|
|
127
83
|
end
|
|
128
84
|
end
|
|
129
85
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2013-
|
|
1
|
+
# Copyright (C) 2013-2024 Sutou Kouhei <kou@clear-code.com>
|
|
2
2
|
#
|
|
3
3
|
# This library is free software; you can redistribute it and/or
|
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
module Groonga
|
|
18
18
|
module Command
|
|
19
19
|
class Parser
|
|
20
|
-
VERSION = "1.1.
|
|
20
|
+
VERSION = "1.1.6"
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2011-
|
|
1
|
+
# Copyright (C) 2011-2026 Sutou Kouhei <kou@clear-code.com>
|
|
2
2
|
#
|
|
3
3
|
# This library is free software; you can redistribute it and/or
|
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -15,7 +15,13 @@
|
|
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
16
16
|
|
|
17
17
|
require "English"
|
|
18
|
-
require "cgi"
|
|
18
|
+
require "cgi/escape"
|
|
19
|
+
begin
|
|
20
|
+
CGI.unescape("")
|
|
21
|
+
rescue NameError
|
|
22
|
+
# Ruby < 4.0 need cgi for CGI.unescape.
|
|
23
|
+
require "cgi"
|
|
24
|
+
end
|
|
19
25
|
require "json"
|
|
20
26
|
|
|
21
27
|
require "groonga/command"
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
# Copyright (C) 2011-2013 Kouhei Sutou <kou@clear-code.com>
|
|
1
|
+
# Copyright (C) 2011-2026 Sutou Kouhei <kou@clear-code.com>
|
|
4
2
|
#
|
|
5
3
|
# This library is free software; you can redistribute it and/or
|
|
6
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -16,7 +14,7 @@
|
|
|
16
14
|
# License along with this library; if not, write to the Free Software
|
|
17
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
18
16
|
|
|
19
|
-
require "cgi"
|
|
17
|
+
require "cgi/escape"
|
|
20
18
|
require "stringio"
|
|
21
19
|
|
|
22
20
|
require "groonga/command/parser"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2015 Kouhei
|
|
1
|
+
# Copyright (C) 2015-2026 Sutou Kouhei <kou@clear-code.com>
|
|
2
2
|
#
|
|
3
3
|
# This library is free software; you can redistribute it and/or
|
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -155,6 +155,7 @@ class LoadValuesParserTest < Test::Unit::TestCase
|
|
|
155
155
|
|
|
156
156
|
sub_test_case "error" do
|
|
157
157
|
test "unfinished" do
|
|
158
|
+
omit("We can't implement this with JSON::ResumableParser")
|
|
158
159
|
assert_equal([
|
|
159
160
|
{
|
|
160
161
|
"object" => {
|
data/test/test-parser.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2011-
|
|
1
|
+
# Copyright (C) 2011-2026 Sutou Kouhei <kou@clear-code.com>
|
|
2
2
|
#
|
|
3
3
|
# This library is free software; you can redistribute it and/or
|
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
|
@@ -270,7 +270,7 @@ load --table Users --columns "_key, name"
|
|
|
270
270
|
expected_events << [:load_value, <<-COMMAND, ["alice", "Alice"]]
|
|
271
271
|
load --table Users --columns "_key, name"
|
|
272
272
|
COMMAND
|
|
273
|
-
expected_events << [:load_complete, <<-COMMAND
|
|
273
|
+
expected_events << [:load_complete, <<-COMMAND]
|
|
274
274
|
load --table Users --columns "_key, name"
|
|
275
275
|
[
|
|
276
276
|
["alice", "Alice"]
|
|
@@ -298,7 +298,7 @@ load --table Users
|
|
|
298
298
|
expected_events << [:load_value, <<-COMMAND, ["alice", "Alice"]]
|
|
299
299
|
load --table Users
|
|
300
300
|
COMMAND
|
|
301
|
-
expected_events << [:load_complete, <<-COMMAND
|
|
301
|
+
expected_events << [:load_complete, <<-COMMAND]
|
|
302
302
|
load --table Users
|
|
303
303
|
[
|
|
304
304
|
["_key", "name"],
|
|
@@ -330,7 +330,7 @@ load --table Users
|
|
|
330
330
|
expected_events << [:load_value, <<-COMMAND, value]
|
|
331
331
|
load --table Users
|
|
332
332
|
COMMAND
|
|
333
|
-
expected_events << [:load_complete, <<-COMMAND
|
|
333
|
+
expected_events << [:load_complete, <<-COMMAND]
|
|
334
334
|
load --table Users
|
|
335
335
|
[
|
|
336
336
|
{"_key": "alice", "name": "Alice"},
|
|
@@ -363,11 +363,12 @@ load --table Users
|
|
|
363
363
|
expected_events << [:load_value, <<-SOURCE, value]
|
|
364
364
|
load --table Users
|
|
365
365
|
SOURCE
|
|
366
|
-
expected_events << [:load_complete, <<-SOURCE
|
|
366
|
+
expected_events << [:load_complete, <<-SOURCE]
|
|
367
367
|
load --table Users
|
|
368
368
|
[
|
|
369
369
|
{"_key": "alice", "name": "Alice"}
|
|
370
370
|
]
|
|
371
|
+
|
|
371
372
|
SOURCE
|
|
372
373
|
|
|
373
374
|
expected_events << [:load_start, <<-SOURCE.chomp]
|
|
@@ -377,7 +378,7 @@ load --table Users
|
|
|
377
378
|
expected_events << [:load_value, <<-SOURCE, value]
|
|
378
379
|
load --table Users
|
|
379
380
|
SOURCE
|
|
380
|
-
expected_events << [:load_complete, <<-SOURCE
|
|
381
|
+
expected_events << [:load_complete, <<-SOURCE]
|
|
381
382
|
load --table Users
|
|
382
383
|
[
|
|
383
384
|
{"_key": "bob", "name": "Bob"}
|
|
@@ -412,8 +413,9 @@ load --table Users
|
|
|
412
413
|
expected_events << [:load_value, <<-SOURCE, value]
|
|
413
414
|
load --table Users
|
|
414
415
|
[
|
|
416
|
+
{"_key": "alice", "name": "Alice"}
|
|
415
417
|
SOURCE
|
|
416
|
-
expected_events << [:load_complete, <<-SOURCE
|
|
418
|
+
expected_events << [:load_complete, <<-SOURCE]
|
|
417
419
|
load --table Users
|
|
418
420
|
[
|
|
419
421
|
{"_key": "alice", "name": "Alice"}
|
|
@@ -427,8 +429,9 @@ load --table Users
|
|
|
427
429
|
expected_events << [:load_value, <<-SOURCE, value]
|
|
428
430
|
load --table Users
|
|
429
431
|
[
|
|
432
|
+
{"_key": "bob", "name": "Bob"}
|
|
430
433
|
SOURCE
|
|
431
|
-
expected_events << [:load_complete, <<-SOURCE
|
|
434
|
+
expected_events << [:load_complete, <<-SOURCE]
|
|
432
435
|
load --table Users
|
|
433
436
|
[
|
|
434
437
|
{"_key": "bob", "name": "Bob"}
|
|
@@ -453,7 +456,7 @@ EOS
|
|
|
453
456
|
end
|
|
454
457
|
|
|
455
458
|
def test_no_record_separate_comma
|
|
456
|
-
message = "
|
|
459
|
+
message = "expected ',' or ']' after array value"
|
|
457
460
|
before = <<-BEFORE
|
|
458
461
|
[
|
|
459
462
|
{"_key": "alice", "name": "Alice"}
|
|
@@ -473,7 +476,7 @@ EOC
|
|
|
473
476
|
end
|
|
474
477
|
|
|
475
478
|
def test_garbage_before_json
|
|
476
|
-
message = "
|
|
479
|
+
message = "unexpected character: 'XXX'"
|
|
477
480
|
before = ""
|
|
478
481
|
after = <<-AFTER
|
|
479
482
|
XXX
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: groonga-command-parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kouhei Sutou
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: groonga-command
|
|
@@ -25,103 +24,19 @@ dependencies:
|
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
25
|
version: 1.4.0
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: json
|
|
27
|
+
name: json
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - ">="
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
32
|
+
version: 2.20.0
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - ">="
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: test-unit
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: rake
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: bundler
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: packnga
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ">="
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: yard
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: kramdown
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
39
|
+
version: 2.20.0
|
|
125
40
|
description: ''
|
|
126
41
|
email:
|
|
127
42
|
- kou@clear-code.com
|
|
@@ -159,7 +74,6 @@ homepage: https://github.com/groonga/groonga-command-parser
|
|
|
159
74
|
licenses:
|
|
160
75
|
- LGPLv2.1+
|
|
161
76
|
metadata: {}
|
|
162
|
-
post_install_message:
|
|
163
77
|
rdoc_options: []
|
|
164
78
|
require_paths:
|
|
165
79
|
- lib
|
|
@@ -174,8 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
174
88
|
- !ruby/object:Gem::Version
|
|
175
89
|
version: '0'
|
|
176
90
|
requirements: []
|
|
177
|
-
rubygems_version:
|
|
178
|
-
signing_key:
|
|
91
|
+
rubygems_version: 4.0.10
|
|
179
92
|
specification_version: 4
|
|
180
93
|
summary: Groonga-command-parser is a Ruby library to parses [groonga](http://groonga.org/)'s
|
|
181
94
|
command syntax. You can write a program to process groonga's command by using groonga-command-parser.
|