googlesheets 0.7.0 → 0.8.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/bin/shat +19 -5
  3. data/lib/googlesheets.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daf8f693ecd8d71a27765777260113aa6983861deb3821e6b0a2c660a55b2752
4
- data.tar.gz: 61b86c3fedfdd39706d6ca0f5bc5c3510ff1acbb81474a94fdc2f67bd46d9008
3
+ metadata.gz: a378458e86791442a1e6b45251b8e4dab9197de444176c466d169fed24069659
4
+ data.tar.gz: 1033e1300425d32aa74aec56246e5ead5ce52bead75ff1a91b6a34cab914b2ab
5
5
  SHA512:
6
- metadata.gz: c7dbdc0f9217c727964938abb9941e3793226193c4bbc2e2b8991d06bae7f10c85f9ed30962aa250d4fa98a53bdfae9b06e93c6ed453a8a31a4091ba3eb2b55c
7
- data.tar.gz: 961beb15ab4c331098345ae559ef80e88e43d5e336e199b549294c5eeb3d7a7b61311f85f129ea8bd0969f7eae5c927cc59d7dbd0e261e810043920507ee35c1
6
+ metadata.gz: 95ca848033baeed961898db87d52f2a21658a0aa67a722ded7226a37dfd5510fe359f4068247765263f03f1a1cab37bfa7cb22759111bcfca8d9286b4cab0e5c
7
+ data.tar.gz: bba5b7cc4f3c0bd64780fc88f615661bc76eef80e7f60247988ffc7d9f6d478bbc17fc348b58403a3205b2765174b8fb9544c72ce0355ea0e208f2f8ea1f3fed
data/bin/shat CHANGED
@@ -16,11 +16,16 @@ trap("INT" ) { abort "\n" }
16
16
  OptionParser.new.instance_eval do
17
17
  @banner = "usage: #{program_name} [options] <url>"
18
18
 
19
- on "-f", "--fill" , "Fill each row with as many cells as the first row"
20
- on "-h", "--help" , "Show help and command usage" do Kernel.abort to_s; end
21
- on "-t", "--trim" , "Trim leading and trailing whitespace"
22
- on "-v", "--version" , "Show version number" do Kernel.abort "#{program_name} #{GoogleSheets::VERSION}"; end
19
+ on "-f", "--fill" , "Fill each row with as many cells as the first row"
20
+ on "-h", "--help" , "Show help and command usage" do Kernel.abort to_s; end
21
+ on "-s", "--strip" , "Strip leading and trailing whitespace"
22
+ on "-v", "--version", "Show version number" do Kernel.abort "#{program_name} #{GoogleSheets::VERSION}"; end
23
23
 
24
+ on "--csv" , "Output comma separated data (default)"
25
+ on "--psv" , "Output pipe separated data"
26
+ on "--tsv" , "Output tab separated data"
27
+
28
+ Kernel.abort to_s if ARGV.empty?
24
29
  self
25
30
  end.parse!(into: opts={}) rescue abort($!.message)
26
31
 
@@ -28,6 +33,15 @@ fill = opts[:fill]
28
33
  link = ARGV.shift or abort("no url provided")
29
34
  trim = opts[:trim]
30
35
 
36
+ # handle separators
37
+ xcsv = opts[:csv ]
38
+ xpsv = opts[:psv ]
39
+ xtsv = opts[:tsv ]
40
+ hits = [xcsv, xpsv, xtsv].compact.size
41
+ hits > 1 and abort "only one of csv, psv, or tsv allowed"
42
+ xcsv = true if hits.zero?
43
+ seps = xtsv ? "\t" : xpsv ? "|" : ","
44
+
31
45
  goog = GoogleSheets.new(link)
32
46
  rows = goog.sheet_read
33
47
  rows.each {|cols| cols.map(&:strip!) } if trim
@@ -41,4 +55,4 @@ if fill and need = rows[0]&.size
41
55
  end
42
56
  end
43
57
 
44
- Censive.writer {|csv| rows.each {|row| csv << row }}
58
+ Censive.writer(seps: seps) {|csv| rows.each {|row| csv << row }}
data/lib/googlesheets.rb CHANGED
@@ -19,7 +19,7 @@ class Object
19
19
  end
20
20
 
21
21
  class GoogleSheets
22
- VERSION = "0.7.0"
22
+ VERSION = "0.8.0"
23
23
 
24
24
  attr_accessor :api
25
25
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: googlesheets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.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: 2023-03-27 00:00:00.000000000 Z
11
+ date: 2023-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-api-client