slyce 0.9.0 → 0.9.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/slyce +9 -5
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b35094f0096060fd354165e0c24331549ae85eb73b3568c2ee25d318b4dada2
4
- data.tar.gz: 4354a7b22ab2ba4628e85f34b2bf7275873d044c10dd16c4a624ca31ae61fed1
3
+ metadata.gz: 73484428602b9a69afae319a88b9b0045cb13b3d17e3f24a9532b73a35c53a28
4
+ data.tar.gz: 243242d2a638ad262b6e34c0b7c5d3541eac62048ed24a81d9c1d93a6d91b55c
5
5
  SHA512:
6
- metadata.gz: a4ea7f796286ed343fef00dc1401ebf8960301975fbe40414834ae84c52162344f14521b5b2aea8073ff73aaa5122514552fa6d262246d2b738e95811d9747ab
7
- data.tar.gz: 6f6fd02773c11cf9c25b788657f452fa310d6fe997fcf3aae3a7dfb6a4fa2fe2c2896ced81f13370db8b80c1252e23cbd84bcb26b22f3c5fad71fb62151847b2
6
+ metadata.gz: 1f636b19580ca0797aa86325d5b0d24e23caa9c6e92d3a35716882a1d0c69b9708fbb5554c982d8f1f096801248e2ce9f79562b11b46eac50b76fd93747fdd69
7
+ data.tar.gz: eb0ffa3c6b948a0d0d6c0bb05b16881f4c628eebbf9de63c5bc052df80e0b661a91cb195a1ff1449afcf004a006b19e76e43a0ee279e4993615fd45d2d48bae3
data/bin/slyce CHANGED
@@ -2,9 +2,8 @@
2
2
 
3
3
  STDOUT.sync = true
4
4
 
5
- VERSION="0.9.0"
5
+ VERSION="0.9.2"
6
6
 
7
- require "bundler/setup"
8
7
  require "mysql2"
9
8
  require "optparse"
10
9
 
@@ -21,6 +20,7 @@ OptionParser.new.instance_eval do
21
20
  on "-h", "--help" , "Show help and command usage" do Kernel.abort to_s; end
22
21
  on "-s", "--show <count>" , "Show this many values", Integer
23
22
  on "-v", "--version" , "Show version number" do Kernel.abort "#{program_name} #{VERSION}"; end
23
+ on "-w", "--where <cond>" , "Filter rows (eg - 'age=33,Name=/[BW]ill/i,color=\"\"'"
24
24
  on "-x", "--extract <col1,col2,...>", "Comma separated list of columns to extract"
25
25
 
26
26
  self
@@ -29,6 +29,7 @@ end.parse!(into: opts={}) rescue abort($!.message)
29
29
  abcd = opts[:alpha]
30
30
  show = opts[:show]
31
31
  want = opts[:extract].to_s.downcase.split(",")
32
+ filt = opts[:where] and filt = "where\n #{filt}"
32
33
 
33
34
  dbas ||= ARGV.shift or Kernel.abort "no database given"
34
35
  tabl ||= ARGV.shift or Kernel.abort "no table given"
@@ -52,8 +53,8 @@ def display(name, data, show, uniq, tots)
52
53
  puts "\n#{fill} #{name}\n#{fill} #{line}\n"
53
54
  data.each {|cnt, val| puts "%*d %s" % [wide, cnt, val || "NULL"] }
54
55
  puts "#{fill} -----\n"
55
- puts "%*d shown (top #{rows})" % [wide, rows] if show
56
- puts "%*d total (all #{uniq})" % [wide, tots]
56
+ puts "%*d shown (top %d)" % [wide, rows, rows] if show
57
+ puts "%*d total (all %d)" % [wide, tots, uniq]
57
58
  end
58
59
 
59
60
  # ==[ Let 'er rip! ]==
@@ -77,6 +78,7 @@ want.each do |name|
77
78
  `#{name}` as val
78
79
  from
79
80
  `#{tabl}`
81
+ #{filt}
80
82
  group by
81
83
  val
82
84
  order by #{sort}
@@ -90,12 +92,14 @@ want.each do |name|
90
92
  count(distinct(ifnull(`#{name}`,0)))
91
93
  from
92
94
  `#{tabl}`
95
+ #{filt}
93
96
 
94
97
  tots = conn.query(<<~"").to_a[0][0]
95
98
  select
96
- count(`#{name}`)
99
+ count(ifnull(`#{name}`,0))
97
100
  from
98
101
  `#{tabl}`
102
+ #{filt}
99
103
 
100
104
  display(name, data, show, uniq, tots)
101
105
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slyce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Shreeve