groonga-command 1.1.7 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 14ad301da5a00c4717492c28e9ac0ca55e35072e
4
- data.tar.gz: 52f11a9b2aad40ae6ad12c2458788acaf2aa1310
3
+ metadata.gz: d0c9670224dc3568111c60739250563fe465a10b
4
+ data.tar.gz: 7897c976034a57a216e8a9282093f491f10a7583
5
5
  SHA512:
6
- metadata.gz: f90f2162bb13eb5088246bf0859f439813c91fd92892d7de26c7c2fb83deb28b535c811869d7882dca08d9c38975936e1ca2bdc215f21e573ae2662634517e2c
7
- data.tar.gz: abb484c5a5bc9851a92e60babbf247250b7574d92f380c1b384ef52265633960e9d63e0b870b73ba59e4962bc26787e0e26464f730c1107478dc574404564306
6
+ metadata.gz: ae6987f30293dbdd548e8757fd18ce1e1156105acbcad9fc35930a0ea6d8201a3c94813880c90e683d655aeb3ab39f7de3d1150d9ee2808eb7755072c9966ad2
7
+ data.tar.gz: 1eeaf1457cdf569d1e02c54afca500465de66f880785b4822d054323c19f501565cf61c6766240502f5831f9f782180e171f912821ff1cb3f3779aa12ca7509c
data/doc/text/news.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # News
2
2
 
3
+ ## 1.1.8: 2016-03-21
4
+
5
+ ### Improvements
6
+
7
+ * {Groonga::Command::Shutdown}: Added.
8
+ * {Groonga::Command::TableRemove#name}: Added.
9
+ * {Groonga::Command::TableRemove#dependent?}: Added.
10
+ * {Groonga::Command::Base#request_id}: Added.
11
+ * {Groonga::Command.all}: Added.
12
+ * {Groonga::Command.find}: Supported `Symbol` as command name.
13
+ * {Groonga::Command#command_name}: Added. Because
14
+ {Groonga::Command#name} may be overwritten by subclasses. For
15
+ example, {Groonga::TableRemove#name} overwrites it.
16
+ * {Groonga::Command#name}: Made deprecated.
17
+
3
18
  ## 1.1.7: 2016-03-07
4
19
 
5
20
  ### Improvements
@@ -1,6 +1,4 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2012-2014 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2016 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
@@ -23,12 +21,26 @@ module Groonga
23
21
  module Command
24
22
  class << self
25
23
  @@registered_commands = {}
24
+ def all
25
+ @@registered_commands
26
+ end
27
+
26
28
  def register(name, klass)
27
- @@registered_commands[name] = klass
29
+ @@registered_commands[normalize_name(name)] = klass
28
30
  end
29
31
 
30
32
  def find(name)
31
- @@registered_commands[name] || Base
33
+ @@registered_commands[normalize_name(name)] || Base
34
+ end
35
+
36
+ private
37
+ def normalize_name(name)
38
+ case name
39
+ when String
40
+ name.to_sym
41
+ else
42
+ name
43
+ end
32
44
  end
33
45
  end
34
46
 
@@ -39,16 +51,28 @@ module Groonga
39
51
  end
40
52
  end
41
53
 
42
- attr_reader :name, :arguments
54
+ attr_reader :command_name, :arguments
43
55
  attr_accessor :original_format, :original_source, :path_prefix
44
- def initialize(name, pair_arguments, ordered_arguments=[])
45
- @name = name
56
+ def initialize(command_name, pair_arguments, ordered_arguments=[])
57
+ @command_name = command_name
46
58
  @arguments = construct_arguments(pair_arguments, ordered_arguments)
47
59
  @original_format = nil
48
60
  @original_source = nil
49
61
  @path_prefix = "/d/"
50
62
  end
51
63
 
64
+ # @deprecated since 1.1.8. Use {#command_name} instead.
65
+ def name
66
+ command_name
67
+ end
68
+
69
+ # @return [String] The command name.
70
+ #
71
+ # @since 1.1.8
72
+ def command_name
73
+ @command_name
74
+ end
75
+
52
76
  def [](name)
53
77
  @arguments[normalize_name(name)]
54
78
  end
@@ -80,6 +104,13 @@ module Groonga
80
104
  (self[:output_type] || :json).to_sym
81
105
  end
82
106
 
107
+ # @return [String, nil] `request_id` parameter value.
108
+ #
109
+ # @since 1.1.8
110
+ def request_id
111
+ self[:request_id]
112
+ end
113
+
83
114
  def to_uri_format
84
115
  Format::URI.new(@path_prefix, @name, normalized_arguments).path
85
116
  end
@@ -0,0 +1,43 @@
1
+ # Copyright (C) 2016 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 "groonga/command/base"
18
+
19
+ module Groonga
20
+ module Command
21
+ # A command class that represents `shutdown` command.
22
+ #
23
+ # @since 1.1.8
24
+ class Shutdown < Base
25
+ Command.register("shutdown", self)
26
+
27
+ class << self
28
+ def parameter_names
29
+ [
30
+ :mode,
31
+ ]
32
+ end
33
+ end
34
+
35
+ # @return [String] `mode` parameter value.
36
+ #
37
+ # @since 1.1.8
38
+ def mode
39
+ self[:mode]
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,6 +1,4 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2016 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
@@ -27,9 +25,24 @@ module Groonga
27
25
  def parameter_names
28
26
  [
29
27
  :name,
28
+ :dependent,
30
29
  ]
31
30
  end
32
31
  end
32
+
33
+ # @return [String] `name` parameter value.
34
+ #
35
+ # @since 1.1.8
36
+ def name
37
+ self[:name]
38
+ end
39
+
40
+ # @return [Boolean] `dependent` parameter value.
41
+ #
42
+ # @since 1.1.8
43
+ def dependent?
44
+ self[:dependent] != "no"
45
+ end
33
46
  end
34
47
  end
35
48
  end
@@ -16,6 +16,6 @@
16
16
 
17
17
  module Groonga
18
18
  module Command
19
- VERSION = "1.1.7"
19
+ VERSION = "1.1.8"
20
20
  end
21
21
  end
@@ -53,6 +53,7 @@ require "groonga/command/request-cancel"
53
53
  require "groonga/command/ruby-eval"
54
54
  require "groonga/command/ruby-load"
55
55
  require "groonga/command/select"
56
+ require "groonga/command/shutdown"
56
57
  require "groonga/command/status"
57
58
  require "groonga/command/suggest"
58
59
  require "groonga/command/table-create"
@@ -0,0 +1,46 @@
1
+ # Copyright (C) 2016 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
+ class ShutdownCommandTest < Test::Unit::TestCase
18
+ private
19
+ def shutdown_command(pair_arguments={}, ordered_arguments=[])
20
+ Groonga::Command::Shutdown.new("shutdown",
21
+ pair_arguments,
22
+ ordered_arguments)
23
+ end
24
+
25
+ class ConstructorTest < self
26
+ def test_ordered_arguments
27
+ mode = "immediate"
28
+
29
+ command = shutdown_command({},
30
+ [
31
+ mode,
32
+ ])
33
+ assert_equal({
34
+ :mode => mode,
35
+ },
36
+ command.arguments)
37
+ end
38
+ end
39
+
40
+ class ModeTest < self
41
+ def test_reader
42
+ command = shutdown_command(:mode => "immediate")
43
+ assert_equal("immediate", command.mode)
44
+ end
45
+ end
46
+ end
@@ -1,6 +1,4 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2012-2013 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2016 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
@@ -27,12 +25,39 @@ class TableRemoveCommandTest < Test::Unit::TestCase
27
25
  class ConstructorTest < self
28
26
  def test_ordered_arguments
29
27
  name = "Users"
28
+ dependent = "yes"
30
29
 
31
- command = table_remove_command({}, [name])
30
+ command = table_remove_command({}, [name, dependent])
32
31
  assert_equal({
33
32
  :name => name,
33
+ :dependent => dependent,
34
34
  },
35
35
  command.arguments)
36
36
  end
37
37
  end
38
+
39
+ class NameTest < self
40
+ def test_reader
41
+ command = table_remove_command(:name => "Users")
42
+ assert_equal("Users", command.name)
43
+ end
44
+ end
45
+
46
+ class DependentTest < self
47
+ class ReaderTest < self
48
+ def test_default
49
+ command = table_remove_command
50
+ assert do
51
+ command.dependent?
52
+ end
53
+ end
54
+
55
+ def test_no
56
+ command = table_remove_command(:dependent => "no")
57
+ assert do
58
+ not command.dependent?
59
+ end
60
+ end
61
+ end
62
+ end
38
63
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groonga-command
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 1.1.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: 2016-03-06 00:00:00.000000000 Z
11
+ date: 2016-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -174,6 +174,7 @@ files:
174
174
  - lib/groonga/command/ruby-eval.rb
175
175
  - lib/groonga/command/ruby-load.rb
176
176
  - lib/groonga/command/select.rb
177
+ - lib/groonga/command/shutdown.rb
177
178
  - lib/groonga/command/status.rb
178
179
  - lib/groonga/command/suggest.rb
179
180
  - lib/groonga/command/table-create.rb
@@ -220,6 +221,7 @@ files:
220
221
  - test/command/test-ruby-eval.rb
221
222
  - test/command/test-ruby-load.rb
222
223
  - test/command/test-select.rb
224
+ - test/command/test-shutdown.rb
223
225
  - test/command/test-status.rb
224
226
  - test/command/test-suggest.rb
225
227
  - test/command/test-table-create.rb
@@ -258,51 +260,52 @@ specification_version: 4
258
260
  summary: Groonga-command is a library that represents [Groonga](http://groonga.org/)'s
259
261
  command. You can write a program that handle Groonga's command by using groonga-command.
260
262
  test_files:
261
- - test/run-test.rb
262
- - test/command/test-object-exist.rb
263
- - test/command/test-register.rb
264
- - test/command/test-suggest.rb
265
- - test/command/test-log-level.rb
266
- - test/command/test-ruby-load.rb
267
- - test/command/test-object-inspect.rb
268
- - test/command/test-tokenize.rb
269
- - test/command/test-table-list.rb
270
- - test/command/test-column-copy.rb
263
+ - test/groonga-command-test-utils.rb
264
+ - test/command/test-config-delete.rb
265
+ - test/command/test-object-remove.rb
266
+ - test/command/test-table-tokenize.rb
267
+ - test/command/test-reindex.rb
268
+ - test/command/test-plugin-unregister.rb
271
269
  - test/command/test-io-flush.rb
270
+ - test/command/test-base.rb
271
+ - test/command/test-logical-count.rb
272
+ - test/command/test-table-rename.rb
273
+ - test/command/test-column-rename.rb
272
274
  - test/command/test-dump.rb
273
- - test/command/test-table-tokenize.rb
274
- - test/command/test-object-remove.rb
275
- - test/command/test-thread-limit.rb
276
- - test/command/test-logical-range-filter.rb
275
+ - test/command/test-normalize.rb
276
+ - test/command/test-config-get.rb
277
+ - test/command/test-register.rb
278
+ - test/command/test-shutdown.rb
279
+ - test/command/test-delete.rb
280
+ - test/command/test-column-copy.rb
281
+ - test/command/test-tokenize.rb
282
+ - test/command/test-log-put.rb
277
283
  - test/command/test-load.rb
278
- - test/command/test-config-delete.rb
279
284
  - test/command/test-column-list.rb
280
- - test/command/test-plugin-unregister.rb
281
- - test/command/format/test-command.rb
282
285
  - test/command/test-plugin-register.rb
283
- - test/command/test-reindex.rb
286
+ - test/command/test-request-cancel.rb
287
+ - test/command/test-column-create.rb
288
+ - test/command/test-config-set.rb
289
+ - test/command/test-logical-range-filter.rb
290
+ - test/command/test-object-inspect.rb
291
+ - test/command/format/test-command.rb
292
+ - test/command/test-logical-select.rb
293
+ - test/command/test-get.rb
294
+ - test/command/test-thread-limit.rb
295
+ - test/command/test-table-list.rb
296
+ - test/command/test-object-exist.rb
297
+ - test/command/test-log-level.rb
298
+ - test/command/test-range-filter.rb
284
299
  - test/command/test-status.rb
285
- - test/command/test-config-get.rb
300
+ - test/command/test-logical-shard-list.rb
301
+ - test/command/test-suggest.rb
286
302
  - test/command/test-select.rb
287
303
  - test/command/test-column-remove.rb
288
- - test/command/test-table-rename.rb
289
304
  - test/command/test-ruby-eval.rb
290
- - test/command/test-range-filter.rb
291
- - test/command/test-column-rename.rb
292
- - test/command/test-request-cancel.rb
293
- - test/command/test-log-put.rb
294
- - test/command/test-get.rb
295
305
  - test/command/test-table-create.rb
296
- - test/command/test-logical-select.rb
297
- - test/command/test-config-set.rb
298
- - test/command/test-base.rb
299
- - test/command/test-normalize.rb
300
- - test/command/test-logical-count.rb
301
- - test/command/test-logical-shard-list.rb
302
- - test/command/test-column-create.rb
303
- - test/command/test-delete.rb
304
- - test/command/test-truncate.rb
305
306
  - test/command/test-table-remove.rb
307
+ - test/command/test-ruby-load.rb
308
+ - test/command/test-truncate.rb
306
309
  - test/command/test-logical-table-remove.rb
307
- - test/groonga-command-test-utils.rb
310
+ - test/run-test.rb
308
311
  has_rdoc: