tb 0.1

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.
@@ -0,0 +1,12 @@
1
+ require 'tb'
2
+ require 'test/unit'
3
+
4
+ class TestTbRecord < Test::Unit::TestCase
5
+ def test_values_at
6
+ t = Tb.new %w[fruit color],
7
+ %w[apple red],
8
+ %w[banana yellow],
9
+ %w[orange orange]
10
+ assert_equal(["apple", "red"], t.get_record(0).values_at("fruit", "color"))
11
+ end
12
+ end
@@ -0,0 +1,41 @@
1
+ require 'tb'
2
+ require 'test/unit'
3
+
4
+ class TestTbTSV < Test::Unit::TestCase
5
+ def test_parse
6
+ tsv = "a\tb\n1\t2\n"
7
+ t = Tb.parse_tsv(tsv)
8
+ records = []
9
+ t.each_record {|record|
10
+ records << record.to_h_with_reserved
11
+ }
12
+ assert_equal(
13
+ [{"_recordid"=>0, "a"=>"1", "b"=>"2"}],
14
+ records)
15
+ end
16
+
17
+ def test_parse_conv
18
+ tsv = "foo\na\tb\n1\t2\n"
19
+ t = Tb.parse_tsv(tsv) {|aa|
20
+ assert_equal([%w[foo],
21
+ %w[a b],
22
+ %w[1 2]],
23
+ aa)
24
+ aa.shift
25
+ aa
26
+ }
27
+ records = []
28
+ t.each_record {|record|
29
+ records << record.to_h_with_reserved
30
+ }
31
+ assert_equal(
32
+ [{"_recordid"=>0, "a"=>"1", "b"=>"2"}],
33
+ records)
34
+ end
35
+
36
+ def test_generate_tsv
37
+ tbl = Tb.new %w[a b], %w[foo bar]
38
+ tbl.generate_tsv(out="")
39
+ assert_equal("a\tb\nfoo\tbar\n", out)
40
+ end
41
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tb
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tanaka Akira
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-12-01 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: ! 'manipulation tool for table: CSV, TSV, etc.
15
+
16
+ '
17
+ email: akr@fsij.org
18
+ executables:
19
+ - tb
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - README
24
+ - bin/tb
25
+ - lib/tb.rb
26
+ - lib/tb/basic.rb
27
+ - lib/tb/csv.rb
28
+ - lib/tb/enumerable.rb
29
+ - lib/tb/fieldset.rb
30
+ - lib/tb/pathfinder.rb
31
+ - lib/tb/qtsv.rb
32
+ - lib/tb/reader.rb
33
+ - lib/tb/record.rb
34
+ - lib/tb/tsv.rb
35
+ - sample/excel2csv
36
+ - sample/poi-xls2csv.rb
37
+ - sample/poi-xls2csv.sh
38
+ - test-all.rb
39
+ - test/test_basic.rb
40
+ - test/test_csv.rb
41
+ - test/test_enumerable.rb
42
+ - test/test_record.rb
43
+ - test/test_tsv.rb
44
+ homepage: https://github.com/akr/tb
45
+ licenses: []
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 1.8.11
65
+ signing_key:
66
+ specification_version: 3
67
+ summary: ! 'manipulation tool for table: CSV, TSV, etc.'
68
+ test_files:
69
+ - test/test_basic.rb
70
+ - test/test_csv.rb
71
+ - test/test_enumerable.rb
72
+ - test/test_record.rb
73
+ - test/test_tsv.rb