groonga-client 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4c4dbd708fca63ebcf3ca296f548dae1c8cf64b
4
- data.tar.gz: a604c62095eacbba073e65812b99b2c922ff2951
3
+ metadata.gz: 24d9b067756feca3932e30fc97c2b30b51f164d1
4
+ data.tar.gz: 007f34f0eb3767476411ef0cf30cf367fc4de47a
5
5
  SHA512:
6
- metadata.gz: 78e4d42b4fa59e6517052ca7413562d4392abacf86cea0328121047728d3d1ed41cd08405a07db21616e986cb78a772bce6bd844c1c9ae2ceccac0cd30d7af04
7
- data.tar.gz: df04f9b4ba7dd62a8e1c1cac658a4b60c10745e81169a5dbed56d89afd5679ad16a6ed1e7a53c13146e23f8e08fe126d2a00e1825f473a0ea3f34db41b911aad
6
+ metadata.gz: 67cff454d8de8faecb954f4151aa5187db57da7b0e087df24ab5d3da9221629e38a2a93151ec2a699482762c2e8240413eb0d4e739fa2c93b6c1d7f643f9dde7
7
+ data.tar.gz: 66c4c1282b138064e7e6b2613f684d5448c65a155e3831670a94ac4ab045a9bbdac135c800d7082bb7d7349154b8d125df6a92e83e8e933ff0eeed9e10354508
data/README.md CHANGED
@@ -25,21 +25,21 @@ TODO: use commands with parameters for examples
25
25
 
26
26
  ### GQTP
27
27
 
28
- Groonga::Client.open(:host => host, :port => port, :protocol => :gqtp) do |client|
29
- tables = client.table_list
30
- tables.each do |table|
31
- table.name
28
+ Groonga::Client.open(:host => host, :port => port, :protocol => :gqtp) do |client|
29
+ tables = client.table_list
30
+ tables.each do |table|
31
+ table.name
32
+ end
32
33
  end
33
- end
34
34
 
35
35
  ### HTTP
36
36
 
37
- Groonga::Client.open(:host => host, :port => port, :protocol => :http) do |client|
38
- tables = client.table_list
39
- tables.each do |table|
40
- table.name
37
+ Groonga::Client.open(:host => host, :port => port, :protocol => :http) do |client|
38
+ tables = client.table_list
39
+ tables.each do |table|
40
+ table.name
41
+ end
41
42
  end
42
- end
43
43
 
44
44
  ## Dependencies
45
45
 
data/doc/text/news.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # NEWS
2
2
 
3
+ ## 0.1.0 - 2014-11-05
4
+
5
+ ### Improvements
6
+
7
+ * response: Added {Groonga::Client::Response::Error#message}.
8
+ * response: Added {Groonga::Client::Response::Base#status_code}.
9
+ * response: Added {Groonga::Client::Response::Base#start_time}.
10
+ * response: Added {Groonga::Client::Response::Base#elapsed_time}.
11
+ * response: Added {Groonga::Client::Response::Base#success?}.
12
+
3
13
  ## 0.0.9 - 2014-09-30
4
14
 
5
15
  ### Improvements
@@ -142,6 +142,31 @@ module Groonga
142
142
  self.body = body
143
143
  self.raw = nil
144
144
  end
145
+
146
+ # @return [Integer] The status code of the response.
147
+ # @since 0.1.0
148
+ def status_code
149
+ (header || [0])[0]
150
+ end
151
+
152
+ # @return [Time] The time of the request is accepted.
153
+ # @since 0.1.0
154
+ def start_time
155
+ Time.at((header || [0, 0])[1])
156
+ end
157
+
158
+ # @return [Time] The elapsed time of the request.
159
+ # @since 0.1.0
160
+ def elapsed_time
161
+ (header || [0, 0, 0.0])[2]
162
+ end
163
+
164
+ # @return [Boolean] `true` if the request is processed successfully,
165
+ # `false` otherwise.
166
+ # @since 0.1.0
167
+ def success?
168
+ status_code.zero?
169
+ end
145
170
  end
146
171
  end
147
172
  end
@@ -20,6 +20,11 @@ module Groonga
20
20
  class Client
21
21
  module Response
22
22
  class Error < Base
23
+ # @return [String] The error message of the error response.
24
+ # @since 0.1.0
25
+ def message
26
+ (header || [0, 0, 0.0, ""])[3]
27
+ end
23
28
  end
24
29
  end
25
30
  end
@@ -18,6 +18,6 @@
18
18
 
19
19
  module Groonga
20
20
  class Client
21
- VERSION = "0.0.9"
21
+ VERSION = "0.1.0"
22
22
  end
23
23
  end
@@ -0,0 +1,95 @@
1
+ # Copyright (C) 2014 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "response/helper"
18
+
19
+ class TestResponseBase < Test::Unit::TestCase
20
+ class TestHeader < self
21
+ class TestStatusCode < self
22
+ def test_have_header
23
+ header = [
24
+ -21,
25
+ 1396012478.14975,
26
+ 0.00050806999206543,
27
+ ]
28
+ response = Groonga::Client::Response::Base.new(nil, header, nil)
29
+ assert_equal(-21, response.status_code)
30
+ end
31
+
32
+ def test_no_header
33
+ response = Groonga::Client::Response::Error.new(nil, nil, nil)
34
+ assert_equal(0, response.status_code)
35
+ end
36
+ end
37
+
38
+ class TestStartTime < self
39
+ def test_have_header
40
+ start_time = 1396012478.14975
41
+ header = [
42
+ -21,
43
+ start_time,
44
+ 0.00050806999206543,
45
+ ]
46
+ response = Groonga::Client::Response::Base.new(nil, header, nil)
47
+ assert_equal(Time.at(start_time), response.start_time)
48
+ end
49
+
50
+ def test_no_header
51
+ response = Groonga::Client::Response::Error.new(nil, nil, nil)
52
+ assert_equal(Time.at(0), response.start_time)
53
+ end
54
+ end
55
+
56
+ class TestElapsedTime < self
57
+ def test_have_header
58
+ elapsed_time = 0.00050806999206543
59
+ header = [
60
+ -21,
61
+ 1396012478.14975,
62
+ elapsed_time,
63
+ ]
64
+ response = Groonga::Client::Response::Base.new(nil, header, nil)
65
+ assert_equal(elapsed_time, response.elapsed_time)
66
+ end
67
+
68
+ def test_no_header
69
+ response = Groonga::Client::Response::Error.new(nil, nil, nil)
70
+ assert_equal(0.0, response.elapsed_time)
71
+ end
72
+ end
73
+
74
+ class TestSuccess < self
75
+ def test_have_header
76
+ header = [
77
+ -21,
78
+ 1396012478.14975,
79
+ 0.00050806999206543,
80
+ ]
81
+ response = Groonga::Client::Response::Base.new(nil, header, nil)
82
+ assert do
83
+ not response.success?
84
+ end
85
+ end
86
+
87
+ def test_no_header
88
+ response = Groonga::Client::Response::Error.new(nil, nil, nil)
89
+ assert do
90
+ response.success?
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -36,4 +36,26 @@ class TestResponseError < Test::Unit::TestCase
36
36
  assert_equal(Groonga::Client::Response::Error, response.class)
37
37
  end
38
38
  end
39
+
40
+ class TestMessage < self
41
+ def test_have_header
42
+ header = [
43
+ -22,
44
+ 1396012478.14975,
45
+ 0.00050806999206543,
46
+ "invalid table name: <Nonexistent>",
47
+ [
48
+ ["grn_select", "proc.c", 897],
49
+ ],
50
+ ]
51
+ response = Groonga::Client::Response::Error.new(nil, header, nil)
52
+ assert_equal("invalid table name: <Nonexistent>",
53
+ response.message)
54
+ end
55
+
56
+ def test_no_header
57
+ response = Groonga::Client::Response::Error.new(nil, nil, nil)
58
+ assert_equal("", response.message)
59
+ end
60
+ end
39
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groonga-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Haruka Yoshihara
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-09-30 00:00:00.000000000 Z
13
+ date: 2014-11-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: gqtp
@@ -194,6 +194,7 @@ files:
194
194
  - test/protocol/test-gqtp.rb
195
195
  - test/protocol/test-http.rb
196
196
  - test/response/helper.rb
197
+ - test/response/test-base.rb
197
198
  - test/response/test-column-list.rb
198
199
  - test/response/test-error.rb
199
200
  - test/response/test-select.rb
@@ -237,6 +238,7 @@ test_files:
237
238
  - test/response/test-table-list.rb
238
239
  - test/response/test-column-list.rb
239
240
  - test/response/helper.rb
241
+ - test/response/test-base.rb
240
242
  - test/response/test-status.rb
241
243
  - test/results/test-table-list.rb
242
244
  - test/results/test-column-list.rb