inaba 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,12 @@
1
- Inaba git like SDBM Manipulator
2
- ===============================
1
+ Inaba SDBM Manipulator
2
+ ======================
3
+
4
+ ## Ver 0.0.2
5
+
6
+ - 2012/12/18
7
+ - A bug related "help" command is fixed.
3
8
 
4
9
  ## Ver 0.0.1
5
10
 
6
11
  - 2012/12/07
7
- - First release
12
+ - First release
@@ -1,7 +1,12 @@
1
- Inaba git like SDBM Manipulator
2
- ===============================
1
+ Inaba SDBM Manipulator
2
+ ======================
3
+
4
+ ## Ver 0.0.2
5
+
6
+ - 2012/12/18
7
+ - helpコマンドが正常に使えないバグを修正
3
8
 
4
9
  ## Ver 0.0.1
5
10
 
6
11
  - 2012/12/07
7
- - ファーストリリース。
12
+ - ファーストリリース。
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ spec = Gem::Specification.new do |s|
4
4
  s.name = "inaba"
5
5
  s.summary = "Inaba SDBM Manipulator is a command line tool to manipulate SDBM database."
6
6
  s.description = File.read(File.join(File.dirname(__FILE__), "README.md"))
7
- s.version = "0.0.1"
7
+ s.version = "0.0.2"
8
8
  s.author = "Moza USANE"
9
9
  s.email = "mozamimy@quellencode.org"
10
10
  s.homepage = "http://quellencode.org/"
@@ -81,7 +81,7 @@ module Inaba
81
81
 
82
82
  def print_unrecognizable_error
83
83
  warn "**Unrecognizable command '#{@argv[0]}'"
84
- operate_help
84
+ operate_help(nil)
85
85
  end
86
86
 
87
87
  def operate_add(cmd_line)
@@ -114,7 +114,7 @@ module Inaba
114
114
  operate(cmd_line, 1) {print @dbm.csv_each}
115
115
  end
116
116
 
117
- def operate_help
117
+ def operate_help(cmd_line)
118
118
  puts "[command] [description]"
119
119
  puts "add key value :: Add a key-value pair"
120
120
  puts "del key :: Delete value on key"
@@ -123,6 +123,7 @@ module Inaba
123
123
  puts "values :: Print all values"
124
124
  puts "csv :: Print all values as CSV format"
125
125
  puts "help :: Print this help"
126
+ return SUCCESS
126
127
  end
127
128
 
128
129
  def operate(cmd, cmd_length, &block)
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "test/unit"
5
5
  require "ariete"
6
+ require "stringio"
6
7
  require_relative "../lib/inaba/manipulator"
7
8
 
8
9
  include Inaba
@@ -73,6 +74,14 @@ class ManipulatorTest < Test::Unit::TestCase
73
74
  csv_common(["s"])
74
75
  end
75
76
 
77
+ def test_help
78
+ help_common(["help"])
79
+ end
80
+
81
+ def test_help_abbr
82
+ help_common(["h"])
83
+ end
84
+
76
85
  def test_arg_error
77
86
  argv = ["add", "invalid"]
78
87
  @mnp.instance_variable_set(:@argv, argv)
@@ -164,10 +173,29 @@ class ManipulatorTest < Test::Unit::TestCase
164
173
  assert_equal("rabbit,RABBIT\r\nhakto,HAKTO\r\ninaba,INABA\r\n", result)
165
174
  end
166
175
 
176
+ def help_common(argv)
177
+ @mnp.instance_variable_set(:@argv, argv)
178
+ result = capture_stdout {@mnp.run}
179
+ assert_equal(result, put_help_string)
180
+ end
181
+
167
182
  def add_some_pair(dbm)
168
183
  dbm["rabbit"] = "RABBIT"
169
184
  dbm["hakto"] = "HAKTO"
170
185
  dbm["inaba"] = "INABA"
171
186
  end
172
187
 
188
+ def put_help_string
189
+ str_io = StringIO.new
190
+ str_io.puts "[command] [description]"
191
+ str_io.puts "add key value :: Add a key-value pair"
192
+ str_io.puts "del key :: Delete value on key"
193
+ str_io.puts "list :: Print all key-value pairs"
194
+ str_io.puts "keys :: Print all keys"
195
+ str_io.puts "values :: Print all values"
196
+ str_io.puts "csv :: Print all values as CSV format"
197
+ str_io.puts "help :: Print this help"
198
+ str_io.string
199
+ end
200
+
173
201
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inaba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-12 00:00:00.000000000 Z
12
+ date: 2012-12-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hakto