toolrack 0.13.0 → 0.16.1
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.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/lib/toolrack/cli_utils.rb +28 -0
- data/lib/toolrack/condition_utils.rb +3 -0
- data/lib/toolrack/data_conversion_utils.rb +12 -0
- data/lib/toolrack/exception_utils.rb +5 -5
- data/lib/toolrack/null_output.rb +22 -0
- data/lib/toolrack/version.rb +1 -1
- data/lib/toolrack/version_utils.rb +47 -0
- data/lib/toolrack.rb +13 -0
- data/toolrack.gemspec +2 -1
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c9837dac71c7f526258e7cf66181000d4fd9c005431a630b60cfbf607991314
|
4
|
+
data.tar.gz: 586c74cdceff146ff2cc5efdb6a4927ed451c79d81107efe7a97eb4405ef22ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6cc439cfab0dd18eafe8bb88412dcc3cf16fd077f87e7885b396fb8f460597eba106aa4c8873c9b31fa72ec34cbe3caa09d56f8ede02eb2a399b6ae9ad61569
|
7
|
+
data.tar.gz: a6c3738f458eedb868baae78c61ecb98ef1445a43e9bc2a78ee1ad1de19630a9455d93ddd150832f04cf252d5ac001edd451518307b1ebd103fc26c51f7a13fb
|
data/Rakefile
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Antrapol
|
4
|
+
module ToolRack
|
5
|
+
module CliUtils
|
6
|
+
include Antrapol::ToolRack::ConditionUtils
|
7
|
+
|
8
|
+
class CliUtilsError < StandardError; end
|
9
|
+
|
10
|
+
def which(app)
|
11
|
+
if not_empty?(app)
|
12
|
+
path = `which #{app}`
|
13
|
+
path.strip if not_empty?(path)
|
14
|
+
else
|
15
|
+
raise CliUtilsError, "Given appication to look for full path (which) is empty"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
def self.included(klass)
|
21
|
+
klass.class_eval <<-END
|
22
|
+
extend Antrapol::ToolRack::CliUtils
|
23
|
+
END
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -115,6 +115,18 @@ module Antrapol
|
|
115
115
|
alias_method :str_to_bool, :string_to_bool
|
116
116
|
alias_method :string_to_boolean, :string_to_bool
|
117
117
|
|
118
|
+
|
119
|
+
|
120
|
+
#
|
121
|
+
# Make it available at class level too
|
122
|
+
#
|
123
|
+
def self.included(klass)
|
124
|
+
klass.class_eval <<-END
|
125
|
+
extend Antrapol::ToolRack::DataConversionUtils
|
126
|
+
END
|
127
|
+
end
|
128
|
+
|
129
|
+
|
118
130
|
end
|
119
131
|
end
|
120
132
|
end
|
@@ -11,7 +11,7 @@ module Antrapol
|
|
11
11
|
# val - variable/object that shall be tested for emptiness
|
12
12
|
# message - message to be thrown if it is true
|
13
13
|
# error - exception object to be thrown
|
14
|
-
def raise_if_empty(val, message, error =
|
14
|
+
def raise_if_empty(val, message, error = StandardError)
|
15
15
|
raise_error(message,error) if is_empty?(val)
|
16
16
|
end # raise_if_empty
|
17
17
|
alias_method :raise_if_empty?, :raise_if_empty
|
@@ -19,7 +19,7 @@ module Antrapol
|
|
19
19
|
#
|
20
20
|
# raise_if_false
|
21
21
|
#
|
22
|
-
def raise_if_false(bool, message, error =
|
22
|
+
def raise_if_false(bool, message, error = StandardError)
|
23
23
|
if not bool
|
24
24
|
raise_error(message,error)
|
25
25
|
end
|
@@ -29,16 +29,16 @@ module Antrapol
|
|
29
29
|
#
|
30
30
|
# raise_if_true
|
31
31
|
#
|
32
|
-
def raise_if_true(bool, message, error =
|
32
|
+
def raise_if_true(bool, message, error = StandardError)
|
33
33
|
raise_if_false(!bool, message, error)
|
34
34
|
end # raise_if_true
|
35
35
|
alias_method :raise_if_true?, :raise_if_true
|
36
36
|
|
37
37
|
protected
|
38
|
-
def raise_error(message, error =
|
38
|
+
def raise_error(message, error = StandardError)
|
39
39
|
if error.nil?
|
40
40
|
if @default_exception.nil?
|
41
|
-
raise
|
41
|
+
raise StandardError, message
|
42
42
|
else
|
43
43
|
raise @default_exception, message
|
44
44
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Antrapol
|
4
|
+
module ToolRack
|
5
|
+
class NullOutput
|
6
|
+
|
7
|
+
def method_missing(mtd, *args, &block)
|
8
|
+
# sink-holed all methods call
|
9
|
+
logger.tdebug :nullOut, "#{mtd} / #{args} / #{block ? "with block" : "no block"}"
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
def logger
|
14
|
+
if @logger.nil?
|
15
|
+
@logger = Tlogger.new
|
16
|
+
end
|
17
|
+
@logger
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/toolrack/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
|
2
|
+
require_relative 'condition_utils'
|
3
|
+
|
4
|
+
module Antrapol
|
5
|
+
module ToolRack
|
6
|
+
module VersionUtils
|
7
|
+
include Antrapol::ToolRack::ConditionUtils
|
8
|
+
|
9
|
+
class VersionUtilsError < StandardError; end
|
10
|
+
|
11
|
+
def is_version_equal?(*args)
|
12
|
+
res = true
|
13
|
+
target = Gem::Version.new(args.first)
|
14
|
+
args.each do |a|
|
15
|
+
subj = Gem::Version.new(a)
|
16
|
+
res = (subj == target)
|
17
|
+
break if not res
|
18
|
+
target = subj
|
19
|
+
end
|
20
|
+
|
21
|
+
res
|
22
|
+
end
|
23
|
+
|
24
|
+
def possible_versions(ver)
|
25
|
+
raise VersionUtilsError, "Given version to extrapolate is empty" if is_empty?(ver)
|
26
|
+
vv = ver.to_s.split('.')
|
27
|
+
tv = vv.clone
|
28
|
+
res = []
|
29
|
+
cnt = 0
|
30
|
+
(0...vv.length).each do |i|
|
31
|
+
tv = vv.clone
|
32
|
+
tv[i] = tv[i].to_i+1
|
33
|
+
|
34
|
+
j = i
|
35
|
+
loop do
|
36
|
+
break if j >= (vv.length-1)
|
37
|
+
j += 1
|
38
|
+
tv[j] = 0
|
39
|
+
end
|
40
|
+
res << tv.join(".")
|
41
|
+
end
|
42
|
+
res
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/toolrack.rb
CHANGED
@@ -13,6 +13,9 @@ require_relative 'toolrack/runtime_utils'
|
|
13
13
|
require_relative 'toolrack/data_conversion_utils'
|
14
14
|
require_relative 'toolrack/password_utils'
|
15
15
|
require_relative 'toolrack/hash_config'
|
16
|
+
require_relative 'toolrack/cli_utils'
|
17
|
+
require_relative 'toolrack/null_output'
|
18
|
+
require_relative 'toolrack/version_utils'
|
16
19
|
|
17
20
|
module Antrapol
|
18
21
|
module ToolRack
|
@@ -26,6 +29,7 @@ module TR
|
|
26
29
|
Antrapol::ToolRack
|
27
30
|
end
|
28
31
|
|
32
|
+
# aliases
|
29
33
|
ToolRack = Antrapol::ToolRack
|
30
34
|
#TR = ToolRack
|
31
35
|
|
@@ -35,6 +39,8 @@ TR::DataConvUtils = ToolRack::DataConvUtils
|
|
35
39
|
ToolRack::CondUtils = ToolRack::ConditionUtils
|
36
40
|
TR::CondUtils = ToolRack::ConditionUtils
|
37
41
|
|
42
|
+
TR::ProcessUtils = ToolRack::ProcessUtils
|
43
|
+
|
38
44
|
ToolRack::PassUtils = ToolRack::PasswordUtils
|
39
45
|
TR::PassUtils = ToolRack::PasswordUtils
|
40
46
|
|
@@ -46,3 +52,10 @@ TR::RTUtils = ToolRack::RTUtils
|
|
46
52
|
|
47
53
|
TR::HashConfig = ToolRack::HashConfig
|
48
54
|
|
55
|
+
TR::CliUtils = ToolRack::CliUtils
|
56
|
+
|
57
|
+
TR::NullOut = ToolRack::NullOutput
|
58
|
+
|
59
|
+
TR::VerUtils = ToolRack::VersionUtils
|
60
|
+
TR::VUtils = TR::VerUtils
|
61
|
+
|
data/toolrack.gemspec
CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_dependency "tlogger" #, "~> 0.21"
|
30
30
|
spec.add_dependency "base58"
|
31
31
|
|
32
|
-
spec.add_development_dependency "devops_helper" #, "~> 0.1.0"
|
32
|
+
#spec.add_development_dependency "devops_helper" #, "~> 0.1.0"
|
33
|
+
spec.add_development_dependency "devops_assist"
|
33
34
|
spec.add_development_dependency "rspec"
|
34
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toolrack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tlogger
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: devops_assist
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -83,16 +83,19 @@ files:
|
|
83
83
|
- bin/console
|
84
84
|
- bin/setup
|
85
85
|
- lib/toolrack.rb
|
86
|
+
- lib/toolrack/cli_utils.rb
|
86
87
|
- lib/toolrack/condition_utils.rb
|
87
88
|
- lib/toolrack/data_conversion_utils.rb
|
88
89
|
- lib/toolrack/exception_utils.rb
|
89
90
|
- lib/toolrack/global.rb
|
90
91
|
- lib/toolrack/hash_config.rb
|
92
|
+
- lib/toolrack/null_output.rb
|
91
93
|
- lib/toolrack/password_utils.rb
|
92
94
|
- lib/toolrack/process_utils.rb
|
93
95
|
- lib/toolrack/runtime_utils.rb
|
94
96
|
- lib/toolrack/utils.rb
|
95
97
|
- lib/toolrack/version.rb
|
98
|
+
- lib/toolrack/version_utils.rb
|
96
99
|
- process_test/backtick_test.rb
|
97
100
|
- process_test/pty_test.rb
|
98
101
|
- process_test/shell_test.rb
|
@@ -103,7 +106,7 @@ licenses: []
|
|
103
106
|
metadata:
|
104
107
|
homepage_uri: https://github.com/chrisliaw/toolrack
|
105
108
|
source_code_uri: https://github.com/chrisliaw/toolrack
|
106
|
-
post_install_message:
|
109
|
+
post_install_message:
|
107
110
|
rdoc_options: []
|
108
111
|
require_paths:
|
109
112
|
- lib
|
@@ -119,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
122
|
version: '0'
|
120
123
|
requirements: []
|
121
124
|
rubygems_version: 3.2.22
|
122
|
-
signing_key:
|
125
|
+
signing_key:
|
123
126
|
specification_version: 4
|
124
127
|
summary: Collection of simple utilities but I find it increase clarity
|
125
128
|
test_files: []
|