gqtp 1.0.6 → 1.0.8
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 +5 -5
- data/README.md +1 -1
- data/Rakefile +13 -1
- data/doc/text/news.md +13 -0
- data/gqtp.gemspec +2 -3
- data/lib/gqtp/client.rb +17 -4
- data/lib/gqtp/parser.rb +5 -5
- data/lib/gqtp/version.rb +2 -4
- data/test/run-test.rb +1 -3
- data/test/test-parser.rb +2 -4
- metadata +31 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a2ed7df5da90302f31df8d57aa551ff14e4ad39d14e34337bb5ed1146abc14b7
|
4
|
+
data.tar.gz: 9ed015ce5b70ba6089fd63d4d20245ccadb10efb1b6b95c3c89efff5df3ba379
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30478c3cb97510c383a46275b2d9d8f91154bdcb8984f24439c47417a6f6556c1a67f5785c3e000f65e4c0b22a9fa22dc1c060ab4436592b3bbce4181a68c532
|
7
|
+
data.tar.gz: b398200c9c7741612c5ddb8fc91b31cda70e14fe979d31bde05c18d4ed63a46f6484a0bd2264202e38746468a086ad6a4770529c9f0b3ff650e8cc63d95ea3d9
|
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -32,7 +32,9 @@ end
|
|
32
32
|
helper.install
|
33
33
|
spec = helper.gemspec
|
34
34
|
|
35
|
-
Packnga::DocumentTask.new(spec) do
|
35
|
+
Packnga::DocumentTask.new(spec) do |task|
|
36
|
+
task.original_language = "en"
|
37
|
+
task.translate_language = "ja"
|
36
38
|
end
|
37
39
|
|
38
40
|
Packnga::ReleaseTask.new(spec) do
|
@@ -42,3 +44,13 @@ desc "Run tests"
|
|
42
44
|
task :test do
|
43
45
|
ruby("test/run-test.rb")
|
44
46
|
end
|
47
|
+
|
48
|
+
release_task = Rake.application["release"]
|
49
|
+
# We use Trusting Publishing
|
50
|
+
release_task.prerequisites.delete("build")
|
51
|
+
release_task.prerequisites.delete("release:rubygem_push")
|
52
|
+
release_task_comment = release_task.comment
|
53
|
+
if release_task_comment
|
54
|
+
release_task.clear_comments
|
55
|
+
release_task.comment = release_task_comment.gsub(/ and build.*$/, "")
|
56
|
+
end
|
data/doc/text/news.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
## 1.0.8: 2024-12-24
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* Suppressed warnings with Ruby 3.4.
|
8
|
+
|
9
|
+
## 1.0.7: 2019-05-11
|
10
|
+
|
11
|
+
### Improvements
|
12
|
+
|
13
|
+
* Added support for `Groonga::Client#close` after sending `shutdown`
|
14
|
+
or `close`.
|
15
|
+
|
3
16
|
## 1.0.6: 2014-03-25
|
4
17
|
|
5
18
|
### Improvements
|
data/gqtp.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# -*- mode: ruby
|
1
|
+
# -*- mode: ruby -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2012 Kouhei
|
3
|
+
# Copyright (C) 2012-2024 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
|
@@ -47,7 +47,6 @@ Gem::Specification.new do |spec|
|
|
47
47
|
spec.add_development_dependency("bundler")
|
48
48
|
spec.add_development_dependency("rake")
|
49
49
|
spec.add_development_dependency("test-unit")
|
50
|
-
spec.add_development_dependency("test-unit-notify")
|
51
50
|
spec.add_development_dependency("packnga")
|
52
51
|
spec.add_development_dependency("redcarpet")
|
53
52
|
end
|
data/lib/gqtp/client.rb
CHANGED
@@ -27,12 +27,20 @@ module GQTP
|
|
27
27
|
@options[:host] ||= @options[:address] || "127.0.0.1"
|
28
28
|
@options[:port] ||= 10043
|
29
29
|
@backend = create_backend
|
30
|
+
@close_requesting = false
|
30
31
|
end
|
31
32
|
|
32
33
|
def send(body, options={}, &block)
|
33
34
|
header = options[:header] || Header.new
|
34
35
|
header.size = body.bytesize
|
35
36
|
|
37
|
+
case body
|
38
|
+
when /\A(?:shutdown|quit)(?:\z|\s)/
|
39
|
+
@close_requesting = true
|
40
|
+
when /\A\/d\/(?:shutdown|quit)(?:\z|\?)/
|
41
|
+
@close_requesting = true
|
42
|
+
end
|
43
|
+
|
36
44
|
if block_given?
|
37
45
|
sequential_request = SequentialRequest.new
|
38
46
|
write_request = @backend.write(header.pack, body) do
|
@@ -55,6 +63,10 @@ module GQTP
|
|
55
63
|
parser << header
|
56
64
|
read_body_request = @backend.read(parser.header.size) do |body|
|
57
65
|
response_body = body
|
66
|
+
if @close_requesting
|
67
|
+
@backend.close
|
68
|
+
@backend = nil
|
69
|
+
end
|
58
70
|
yield(parser.header, response_body) if block_given?
|
59
71
|
end
|
60
72
|
sequential_request << read_body_request
|
@@ -87,11 +99,12 @@ module GQTP
|
|
87
99
|
def close
|
88
100
|
sync = !block_given?
|
89
101
|
sequential_request = SequentialRequest.new
|
90
|
-
|
91
|
-
|
92
|
-
|
102
|
+
if @backend
|
103
|
+
quit_request = send("quit", :header => header_for_close) do
|
104
|
+
yield if block_given?
|
105
|
+
end
|
106
|
+
sequential_request << quit_request
|
93
107
|
end
|
94
|
-
sequential_request << quit_request
|
95
108
|
|
96
109
|
if sync
|
97
110
|
sequential_request.wait
|
data/lib/gqtp/parser.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2012-2024 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
|
@@ -52,7 +50,8 @@ module GQTP
|
|
52
50
|
|
53
51
|
def stand_alone_parse(data)
|
54
52
|
received_header = nil
|
55
|
-
body = ""
|
53
|
+
body = +""
|
54
|
+
body.force_encoding("ASCII-8BIT")
|
56
55
|
completed = false
|
57
56
|
|
58
57
|
parser = new
|
@@ -130,7 +129,8 @@ module GQTP
|
|
130
129
|
|
131
130
|
private
|
132
131
|
def reset
|
133
|
-
@buffer = ""
|
132
|
+
@buffer = +""
|
133
|
+
@buffer.force_encoding("ASCII-8BIT")
|
134
134
|
@header = nil
|
135
135
|
@body_size = 0
|
136
136
|
end
|
data/lib/gqtp/version.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2012-2013 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2012-2019 Kouhei Sutou <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
|
@@ -17,5 +15,5 @@
|
|
17
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
16
|
|
19
17
|
module GQTP
|
20
|
-
VERSION = "1.0.
|
18
|
+
VERSION = "1.0.8"
|
21
19
|
end
|
data/test/run-test.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# -*- coding: utf-8 -*-
|
3
2
|
#
|
4
|
-
# Copyright (C) 2012-
|
3
|
+
# Copyright (C) 2012-2024 Sutou Kouhei <kou@clear-code.com>
|
5
4
|
#
|
6
5
|
# This library is free software; you can redistribute it and/or
|
7
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -26,7 +25,6 @@ test_dir = File.join(base_dir, "test")
|
|
26
25
|
$LOAD_PATH.unshift(lib_dir)
|
27
26
|
|
28
27
|
require "test-unit"
|
29
|
-
require "test/unit/notify"
|
30
28
|
|
31
29
|
Thread.abort_on_exception = true
|
32
30
|
|
data/test/test-parser.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
1
|
+
# Copyright (C) 2012-2024 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
|
@@ -38,7 +36,7 @@ class ParserTest < Test::Unit::TestCase
|
|
38
36
|
end
|
39
37
|
|
40
38
|
def test_on_body
|
41
|
-
received_data = ""
|
39
|
+
received_data = +""
|
42
40
|
@parser.on_body do |chunk|
|
43
41
|
received_data << chunk
|
44
42
|
end
|
metadata
CHANGED
@@ -1,97 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gqtp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: test-unit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: test-unit-notify
|
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
|
-
- - '>='
|
52
|
+
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: packnga
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- -
|
59
|
+
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
61
|
version: '0'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- -
|
66
|
+
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: redcarpet
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- -
|
73
|
+
- - ">="
|
88
74
|
- !ruby/object:Gem::Version
|
89
75
|
version: '0'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- -
|
80
|
+
- - ">="
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '0'
|
97
83
|
description: |
|
@@ -105,32 +91,32 @@ executables:
|
|
105
91
|
extensions: []
|
106
92
|
extra_rdoc_files: []
|
107
93
|
files:
|
94
|
+
- ".yardopts"
|
95
|
+
- Gemfile
|
108
96
|
- README.md
|
109
97
|
- Rakefile
|
110
|
-
-
|
98
|
+
- bin/gqtp-proxy
|
99
|
+
- doc/text/lgpl-2.1.txt
|
100
|
+
- doc/text/news.md
|
111
101
|
- gqtp.gemspec
|
112
|
-
- .
|
113
|
-
- lib/gqtp/parser.rb
|
114
|
-
- lib/gqtp/header.rb
|
115
|
-
- lib/gqtp/error.rb
|
116
|
-
- lib/gqtp/version.rb
|
117
|
-
- lib/gqtp/proxy.rb
|
102
|
+
- lib/gqtp.rb
|
118
103
|
- lib/gqtp/backend/coolio.rb
|
119
|
-
- lib/gqtp/backend/thread.rb
|
120
|
-
- lib/gqtp/backend/synchronous.rb
|
121
104
|
- lib/gqtp/backend/eventmachine.rb
|
105
|
+
- lib/gqtp/backend/synchronous.rb
|
106
|
+
- lib/gqtp/backend/thread.rb
|
107
|
+
- lib/gqtp/client.rb
|
108
|
+
- lib/gqtp/error.rb
|
109
|
+
- lib/gqtp/header.rb
|
110
|
+
- lib/gqtp/parser.rb
|
111
|
+
- lib/gqtp/proxy.rb
|
122
112
|
- lib/gqtp/sequential-request.rb
|
123
113
|
- lib/gqtp/server.rb
|
124
|
-
- lib/gqtp/
|
125
|
-
- lib/gqtp.rb
|
126
|
-
- doc/text/news.md
|
127
|
-
- doc/text/lgpl-2.1.txt
|
114
|
+
- lib/gqtp/version.rb
|
128
115
|
- test/run-test.rb
|
129
116
|
- test/test-client.rb
|
117
|
+
- test/test-header.rb
|
130
118
|
- test/test-parser.rb
|
131
119
|
- test/test-proxy.rb
|
132
|
-
- test/test-header.rb
|
133
|
-
- bin/gqtp-proxy
|
134
120
|
homepage: https://github.com/ranguba/gqtp
|
135
121
|
licenses:
|
136
122
|
- LGPLv2.1 or later
|
@@ -141,17 +127,16 @@ require_paths:
|
|
141
127
|
- lib
|
142
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
143
129
|
requirements:
|
144
|
-
- -
|
130
|
+
- - ">="
|
145
131
|
- !ruby/object:Gem::Version
|
146
132
|
version: '0'
|
147
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
134
|
requirements:
|
149
|
-
- -
|
135
|
+
- - ">="
|
150
136
|
- !ruby/object:Gem::Version
|
151
137
|
version: '0'
|
152
138
|
requirements: []
|
153
|
-
|
154
|
-
rubygems_version: 2.0.14
|
139
|
+
rubygems_version: 3.5.22
|
155
140
|
signing_key:
|
156
141
|
specification_version: 4
|
157
142
|
summary: Gqtp gem is a [GQTP (Groonga Query Transfer Protocol)](http://groonga.org/docs/spec/gqtp.html)
|
@@ -159,7 +144,6 @@ summary: Gqtp gem is a [GQTP (Groonga Query Transfer Protocol)](http://groonga.o
|
|
159
144
|
test_files:
|
160
145
|
- test/run-test.rb
|
161
146
|
- test/test-client.rb
|
147
|
+
- test/test-header.rb
|
162
148
|
- test/test-parser.rb
|
163
149
|
- test/test-proxy.rb
|
164
|
-
- test/test-header.rb
|
165
|
-
has_rdoc:
|