slyce 0.9.0 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
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