texttable 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/texttable.rb +24 -0
  3. data/texttable.gemspec +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6d414e056753b18aad741029e85f39f38dba232d97a38e03ba10407a835923b
4
- data.tar.gz: 69c37ea0dc86881c438956035ddad85f5f17dc3f940e7e0e5ba42f072eae6593
3
+ metadata.gz: 05a63a519ac14bb17ae4fc2e01e343842b69964389701fca2dabfa7f6188f862
4
+ data.tar.gz: b0fc4bc9ba189bb8261a8f35dee4cff9bb0433c7b954db3c44a99e32007ad118
5
5
  SHA512:
6
- metadata.gz: d524d290960e9c9e573599249898ce0dfffbcfffa2b30f4cb77fc11d50cf1889a4c061fdb8b957b8144e9f9578857e47e1046b564e5d729c4218b9b8b1f63352
7
- data.tar.gz: c0a06bc70df55c76b11bdb9dde04699cd41b395c7ccae4cf50512d957fa0329517eb49af1486aa43ad93935d25551eb01751220621b57db4309513667052b985
6
+ metadata.gz: '04752868c5a7e74f19355135b8f58ec14e77920e6b466a6e9f5f08d47a70cb9f19531a74b5b0d06fb9321340d865a5ff372960382b2b2dba6d9d753699635248'
7
+ data.tar.gz: d642c5505cd6787b8f86ed51bddb58ff2adafae05ab4e0b094f377ae29fb74148fc8d960313dcefcfef9bbd2ef6eba4e88dd597fd3a0fb1bf2fe4c503c647437
data/lib/texttable.rb CHANGED
@@ -28,4 +28,28 @@ class TextTable
28
28
  puts line, "#{seen} rows displayed", ""
29
29
  self
30
30
  end
31
+
32
+ def csv(sep=',', encoding: nil)
33
+ require 'csv'
34
+ csv = {}
35
+ csv[:encoding] = encoding + ":UTF-8" if encoding
36
+ csv[:col_sep ] = sep
37
+ csv = CSV.new($stdout, csv)
38
+ csv << cols.keys
39
+ rows.each {|vals| csv << vals}
40
+ end
41
+ def tsv; csv("\t"); end
42
+ def psv; csv("|" ); end
43
+
44
+ def sql(table='table', quote: false)
45
+ q = quote ? '`' : ''
46
+ flip = cols.invert
47
+ rows.each do |vals|
48
+ list = vals.each_with_index.inject([]) do |list, (item, i)|
49
+ list << "#{q}#{flip[i]}#{q}='#{item.gsub("'","''")}'" if item =~ /\S/
50
+ list
51
+ end
52
+ puts "insert into #{q}#{table}#{q} set #{list * ', '};" if !list.empty?
53
+ end
54
+ end
31
55
  end
data/texttable.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "texttable"
5
- s.version = "0.6.0"
5
+ s.version = "0.7.0"
6
6
  s.author = "Steve Shreeve"
7
7
  s.email = "steve.shreeve@gmail.com"
8
8
  s.summary = "An easy way to print rows and columns as simple tables"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: texttable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Shreeve
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-21 00:00:00.000000000 Z
11
+ date: 2019-08-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This gem will auto-size based on column widths.
14
14
  email: steve.shreeve@gmail.com