slyce 0.9.5 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/slyce +5 -1
- data/bin/slyce3 +17 -4
- data/slyce.gemspec +1 -0
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4b3343260618e644b563f9b03b2817796a8439727c753dacf59a93e11bd04af
|
4
|
+
data.tar.gz: 5b9d02e5e596ccf9b32d54f54bd35cb79b86242c9ab1924a46f79cfdd4efb12f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a942b4899789d36ee3a65afbdd4f38308e3438d46a1bdab18a99af94ed2cae00de3ffb282e2ec22eaaf14d341909c623085fa7bf0273753b4bcd915613812235
|
7
|
+
data.tar.gz: 59397e8e24245ea8a42030721911c3dc20011d54d67f0b680b96db16154d95d98897705a166339bdf8fc495828b9f25da5a8a0fc8c51caa101b674cd0633eadc
|
data/bin/slyce
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
VERSION="0.9.
|
3
|
+
VERSION="0.9.8"
|
4
4
|
|
5
5
|
STDOUT.sync = true
|
6
6
|
|
@@ -73,6 +73,10 @@ if opts[:columns]
|
|
73
73
|
exit
|
74
74
|
end
|
75
75
|
|
76
|
+
if want.empty?
|
77
|
+
abort "no columns are selected"
|
78
|
+
end
|
79
|
+
|
76
80
|
want.each do |name|
|
77
81
|
sort = abcd ? "" : "cnt desc,"
|
78
82
|
stmt = show ? "limit #{show}" : ""
|
data/bin/slyce3
CHANGED
@@ -1,8 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# NOTE: Requires the 'regexp' sqlite3 extension from https://github.com/nalgeon/sqlean
|
4
|
+
#
|
5
|
+
# Downloads from https://github.com/nalgeon/sqlean/releases/latest
|
6
|
+
#
|
7
|
+
# For example, on Apple Silicon with macOS with an M1 you can use:
|
8
|
+
#
|
9
|
+
# wget https://github.com/nalgeon/sqlean/releases/download/0.19.3/sqlean-macos-arm64.zip
|
10
|
+
# unzip sqlean-macos-arm64.zip regexp.dylib
|
4
11
|
|
5
|
-
VERSION="0.9.
|
12
|
+
VERSION="0.9.8"
|
6
13
|
|
7
14
|
STDOUT.sync = true
|
8
15
|
|
@@ -27,17 +34,19 @@ OptionParser.new.instance_eval do
|
|
27
34
|
on "-x", "--extract <col1,col2,...>", "Comma separated list of columns to extract"
|
28
35
|
|
29
36
|
self
|
30
|
-
end.parse!(into: opts={
|
37
|
+
end.parse!(into: opts={}) rescue abort($!.message)
|
31
38
|
|
32
39
|
abcd = opts[:alpha]
|
33
40
|
filt = opts[:where] and filt = "where\n #{filt}"
|
34
|
-
regx = opts[:regexp]
|
41
|
+
regx = opts[:regexp] || Dir["{,sqlean}/regexp.{dll,dylib,so}"].first
|
35
42
|
show = opts[:show]
|
36
43
|
want = opts[:extract].to_s.downcase.split(",")
|
37
44
|
|
38
45
|
dbas ||= ARGV.shift or abort "no database given"
|
39
46
|
tabl ||= ARGV.shift or abort "no table given"
|
40
47
|
|
48
|
+
regx && File.exist?(regx) or abort "no regexp extension found#{regx ? " at '#{regx}'" : ''}"
|
49
|
+
|
41
50
|
# ==[ Helpers ]==
|
42
51
|
|
43
52
|
class Extralite::Database
|
@@ -68,7 +77,7 @@ end
|
|
68
77
|
# ==[ Let 'er rip! ]==
|
69
78
|
|
70
79
|
conn = Extralite::Database.new(dbas)
|
71
|
-
resu = conn.load_extension(regx)
|
80
|
+
resu = conn.load_extension(regx) rescue abort("unable to load regexp extension '#{regx}'")
|
72
81
|
cols = conn.columns("select * from `#{tabl}` limit 0").map(&:to_s)
|
73
82
|
want = want.empty? ? cols : want & cols
|
74
83
|
|
@@ -77,6 +86,10 @@ if opts[:columns]
|
|
77
86
|
exit
|
78
87
|
end
|
79
88
|
|
89
|
+
if want.empty?
|
90
|
+
abort "no columns are selected"
|
91
|
+
end
|
92
|
+
|
80
93
|
want.each do |name|
|
81
94
|
sort = abcd ? "" : "cnt desc,"
|
82
95
|
stmt = show ? "limit #{show}" : ""
|
data/slyce.gemspec
CHANGED
@@ -11,5 +11,6 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.license = "MIT"
|
12
12
|
s.files = `git ls-files`.split("\n") - %w[.gitignore]
|
13
13
|
s.executables = `cd bin && git ls-files .`.split("\n")
|
14
|
+
s.add_runtime_dependency "extralite-bundle", "~> 1.2.5"
|
14
15
|
s.add_runtime_dependency "mysql2", "~> 0.5"
|
15
16
|
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.
|
4
|
+
version: 0.9.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Shreeve
|
@@ -10,6 +10,20 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2023-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: extralite-bundle
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.2.5
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.2.5
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: mysql2
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|