toolrack 0.23.2 → 0.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -20
- data/Rakefile +1 -1
- data/lib/toolrack/arg_utils.rb +11 -11
- data/lib/toolrack/data_conversion_utils.rb +31 -0
- data/lib/toolrack/process_utils.rb +2 -2
- data/lib/toolrack/version.rb +1 -1
- data/lib/toolrack.rb +7 -1
- data/toolrack.gemspec +1 -1
- metadata +6 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3aa42768059ac9e8a06017cfc7f3897f20f1f9bc1e5a96636a7ac75d126837f
|
4
|
+
data.tar.gz: b489cac5f26a6c7543d085b9d2a9926b76079c1114f50dc2a8aa4760613119cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aed88650f6221816a73f6be358908c838e161f0fdf757dcc4de87162bdeda217a7d6d12ea8bd947ed4cad317c305dc10d8473ee3c034edf0421b5b8e27450488
|
7
|
+
data.tar.gz: a6c5a60e28a3ef9cf18af8b390bf407d9622960a40e188e6f32b2f6d4561eee41060367d1dc51ea6f64f5a789253624f5ec4782a0668df1097a6afa5d897deac
|
data/Gemfile.lock
CHANGED
@@ -1,38 +1,25 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
toolrack (0.
|
4
|
+
toolrack (0.24.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
9
|
colorize (1.1.0)
|
10
|
-
devops_assist (0.3.11)
|
11
|
-
git_cli
|
12
|
-
git_cli_prompt (~> 0.3.3)
|
13
|
-
gvcs
|
14
|
-
teLogger
|
15
|
-
toolrack
|
16
|
-
tty-prompt
|
17
10
|
diff-lcs (1.5.0)
|
18
|
-
git_cli (0.
|
11
|
+
git_cli (0.13.6)
|
19
12
|
ptools (~> 1.4.0)
|
20
|
-
teLogger
|
21
|
-
toolrack
|
22
|
-
|
23
|
-
teLogger
|
24
|
-
toolrack
|
25
|
-
tty-prompt
|
26
|
-
gvcs (0.1.2)
|
27
|
-
minitest (5.19.0)
|
13
|
+
teLogger (> 0.2)
|
14
|
+
toolrack (> 0.23)
|
15
|
+
minitest (5.20.0)
|
28
16
|
pastel (0.8.0)
|
29
17
|
tty-color (~> 0.5)
|
30
18
|
ptools (1.4.3)
|
31
19
|
rake (12.3.3)
|
32
|
-
release-gem (0.1.
|
20
|
+
release-gem (0.1.30)
|
33
21
|
colorize
|
34
22
|
git_cli
|
35
|
-
gvcs
|
36
23
|
teLogger
|
37
24
|
toolrack
|
38
25
|
tty-command
|
@@ -66,10 +53,11 @@ GEM
|
|
66
53
|
wisper (2.0.1)
|
67
54
|
|
68
55
|
PLATFORMS
|
56
|
+
arm64-darwin-23
|
57
|
+
universal-java-11
|
69
58
|
x86_64-linux
|
70
59
|
|
71
60
|
DEPENDENCIES
|
72
|
-
devops_assist
|
73
61
|
minitest (~> 5.0)
|
74
62
|
rake (~> 12.0)
|
75
63
|
release-gem
|
data/Rakefile
CHANGED
data/lib/toolrack/arg_utils.rb
CHANGED
@@ -20,15 +20,15 @@ module Antrapol
|
|
20
20
|
|
21
21
|
def opt(key, desc, opts = {}, &block)
|
22
22
|
raise RequiredFieldEmpty, "Key field cannot be empty" if is_empty?(key)
|
23
|
-
raise DuplicatedField, "Given key '#{key}' already exist" if
|
23
|
+
raise DuplicatedField, "Given key '#{key}' already exist" if arg_options.keys.include?(key)
|
24
24
|
raise RequiredFieldEmpty, "Block is require" if not block
|
25
25
|
|
26
|
-
|
26
|
+
arg_options[key] = { key: key, desc: desc, arg_options: opts, callback: block }
|
27
27
|
required << key if opts[:required] == true
|
28
28
|
end
|
29
29
|
|
30
30
|
def opt_alias(existing, new)
|
31
|
-
raise InvalidKey, "Existing key '#{existing}'to map to new key '#{new}' not found" if not
|
31
|
+
raise InvalidKey, "Existing key '#{existing}'to map to new key '#{new}' not found" if not arg_options.keys.include?(existing)
|
32
32
|
aliases[new] = existing
|
33
33
|
end
|
34
34
|
|
@@ -66,11 +66,11 @@ module Antrapol
|
|
66
66
|
@_req
|
67
67
|
end
|
68
68
|
|
69
|
-
def
|
70
|
-
if @
|
71
|
-
@
|
69
|
+
def arg_options
|
70
|
+
if @_arg_options.nil?
|
71
|
+
@_arg_options = {}
|
72
72
|
end
|
73
|
-
@
|
73
|
+
@_arg_options
|
74
74
|
end
|
75
75
|
|
76
76
|
def aliases
|
@@ -152,10 +152,10 @@ module Antrapol
|
|
152
152
|
logger.debug "Processing : #{a}"
|
153
153
|
|
154
154
|
key = a
|
155
|
-
conf = cls.
|
155
|
+
conf = cls.arg_options[key]
|
156
156
|
if is_empty?(conf)
|
157
157
|
al = cls.aliases[key]
|
158
|
-
conf = cls.
|
158
|
+
conf = cls.arg_options[al] if not_empty?(al)
|
159
159
|
end
|
160
160
|
|
161
161
|
if is_empty?(conf)
|
@@ -216,10 +216,10 @@ module Antrapol
|
|
216
216
|
|
217
217
|
logger.debug "After separation : #{key}"
|
218
218
|
|
219
|
-
conf = cls.
|
219
|
+
conf = cls.arg_options[key]
|
220
220
|
if is_empty?(conf)
|
221
221
|
al = cls.aliases[key]
|
222
|
-
conf = cls.
|
222
|
+
conf = cls.arg_options[al] if not_empty?(al)
|
223
223
|
end
|
224
224
|
|
225
225
|
if is_empty?(conf)
|
@@ -97,6 +97,37 @@ module Antrapol
|
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
|
+
def hex_to_bin(hex)
|
101
|
+
if not_empty?(hex)
|
102
|
+
# [abcd1234].pack('H*')
|
103
|
+
# turn hex to binary
|
104
|
+
case hex
|
105
|
+
when Array
|
106
|
+
hex.pack('H*')
|
107
|
+
else
|
108
|
+
hex.split.pack('H*')
|
109
|
+
end
|
110
|
+
else
|
111
|
+
hex
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def bin_to_int(bin)
|
116
|
+
if not_empty?(bin)
|
117
|
+
bin.bytes.inject { |a,b| (a << 8) + b }
|
118
|
+
else
|
119
|
+
bin
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def int_to_bin(intStr)
|
124
|
+
if not_empty?(intStr)
|
125
|
+
hex_to_bin(intStr.to_i.to_s(16))
|
126
|
+
else
|
127
|
+
intStr
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
100
131
|
def string_to_bool(str)
|
101
132
|
if not_empty?(str) and is_str_bool?(str)
|
102
133
|
s = str.to_s.strip.downcase
|
@@ -2,10 +2,10 @@
|
|
2
2
|
require_relative 'global'
|
3
3
|
require_relative 'runtime_utils'
|
4
4
|
|
5
|
-
if Antrapol::ToolRack::RuntimeUtils.on_windows?
|
5
|
+
if Antrapol::ToolRack::RuntimeUtils.on_windows? or Antrapol::ToolRack::RuntimeUtils.on_mac?
|
6
6
|
# pty causing "function 'openpty' not found in msvcrt.dll" in some
|
7
7
|
# windows platform. Due to patches?
|
8
|
-
Antrapol::ToolRack::Logger.instance.glogger.debug "On Windows. Not going to
|
8
|
+
Antrapol::ToolRack::Logger.instance.glogger.debug "On Windows or Mac. Not going to have gem 'pty' support"
|
9
9
|
else
|
10
10
|
require 'pty'
|
11
11
|
end
|
data/lib/toolrack/version.rb
CHANGED
data/lib/toolrack.rb
CHANGED
@@ -31,7 +31,12 @@ module Antrapol
|
|
31
31
|
#
|
32
32
|
def self.logger(tag = nil, &block)
|
33
33
|
if @_logger.nil?
|
34
|
-
|
34
|
+
trLogout = ENV["TR_LOGOUT"]
|
35
|
+
if not_empty?(trLogout)
|
36
|
+
@_logger = TeLogger::Tlogger.new(trLogout, 5, 5*1024*1024)
|
37
|
+
else
|
38
|
+
@_logger = TeLogger::Tlogger.new('toolrack.log', 5, 5*1024*1024)
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
42
|
if block
|
@@ -67,6 +72,7 @@ ToolRack = Antrapol::ToolRack
|
|
67
72
|
|
68
73
|
ToolRack::DataConvUtils = Antrapol::ToolRack::DataConversionUtils
|
69
74
|
TR::DataConvUtils = ToolRack::DataConvUtils
|
75
|
+
TR::DCUtils = TR::DataConvUtils
|
70
76
|
|
71
77
|
ToolRack::CondUtils = ToolRack::ConditionUtils
|
72
78
|
TR::CondUtils = ToolRack::ConditionUtils
|
data/toolrack.gemspec
CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
#spec.add_dependency "base58"
|
31
31
|
|
32
32
|
#spec.add_development_dependency "devops_helper" #, "~> 0.1.0"
|
33
|
-
spec.add_development_dependency "devops_assist"
|
33
|
+
#spec.add_development_dependency "devops_assist"
|
34
34
|
spec.add_development_dependency "rspec"
|
35
35
|
spec.add_development_dependency "release-gem"
|
36
36
|
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toolrack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.24.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: devops_assist
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rspec
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,7 +85,7 @@ licenses: []
|
|
99
85
|
metadata:
|
100
86
|
homepage_uri: https://github.com/chrisliaw/toolrack
|
101
87
|
source_code_uri: https://github.com/chrisliaw/toolrack
|
102
|
-
post_install_message:
|
88
|
+
post_install_message:
|
103
89
|
rdoc_options: []
|
104
90
|
require_paths:
|
105
91
|
- lib
|
@@ -114,8 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
100
|
- !ruby/object:Gem::Version
|
115
101
|
version: '0'
|
116
102
|
requirements: []
|
117
|
-
rubygems_version: 3.4.
|
118
|
-
signing_key:
|
103
|
+
rubygems_version: 3.4.6
|
104
|
+
signing_key:
|
119
105
|
specification_version: 4
|
120
106
|
summary: Collection of simple utilities but I find it increase clarity
|
121
107
|
test_files: []
|