toolrack 0.16.0 → 0.18.0
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/.release_history.yml +8 -0
- data/Rakefile +1 -1
- data/lib/toolrack/block_params_utils.rb +40 -0
- data/lib/toolrack/condition_utils.rb +27 -4
- data/lib/toolrack/data_conversion_utils.rb +12 -0
- data/lib/toolrack/file_utils.rb +72 -0
- data/lib/toolrack/runtime_utils.rb +4 -0
- data/lib/toolrack/version.rb +1 -1
- data/lib/toolrack.rb +6 -0
- data/toolrack.gemspec +2 -1
- metadata +6 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5610441ad91a23021d614e6098082c39f2ed065f3cd8b41d9f1baa450578008e
|
|
4
|
+
data.tar.gz: 8e9d4a84aa5042b118b53e10e52d5acadf9d51f95da7f5ee86eb37b6d705ff2a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a22d8044d9e1a0336348d15f693c8536b3bbaacbd609f6ccac74183273631e930d120705b4d290c70d0bc24ff97e34ba09786c2023b8aa3e93f1b29ced4f8c55
|
|
7
|
+
data.tar.gz: 63d84fb30698e89db3b1cd1f38c46589aa038ea416ae00c9e02ee12891288b7c228cb2d69d289cf6cd735f95827b7fb84dca27d75c8f5adf151e452854a78087
|
data/Rakefile
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
module Antrapol
|
|
5
|
+
module ToolRack
|
|
6
|
+
module BlockParamsUtils
|
|
7
|
+
include ConditionUtils
|
|
8
|
+
|
|
9
|
+
def value_from_block(blockKey, defValue, opts = { }, &block)
|
|
10
|
+
if block
|
|
11
|
+
blockParams = nil
|
|
12
|
+
if not_empty?(opts)
|
|
13
|
+
blockParams = opts[:blockArgs]
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
value = nil
|
|
17
|
+
if blockParams.nil?
|
|
18
|
+
value = block.call(blockKey)
|
|
19
|
+
value = defValue if is_empty?(value)
|
|
20
|
+
else
|
|
21
|
+
value = block.call(blockKey, *blockParams)
|
|
22
|
+
value = defValue if is_empty?(value)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
value
|
|
26
|
+
else
|
|
27
|
+
defValue
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def self.included(klass)
|
|
33
|
+
klass.class_eval <<-END
|
|
34
|
+
extend Antrapol::ToolRack::BlockParamsUtils
|
|
35
|
+
END
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -10,11 +10,24 @@ module Antrapol
|
|
|
10
10
|
elsif obj.nil?
|
|
11
11
|
true
|
|
12
12
|
elsif obj.respond_to?(:empty?)
|
|
13
|
-
|
|
14
|
-
obj.strip
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
begin
|
|
14
|
+
if obj.respond_to?(:strip)
|
|
15
|
+
obj.strip.empty?
|
|
16
|
+
else
|
|
17
|
+
obj.empty?
|
|
18
|
+
end
|
|
19
|
+
rescue ArgumentError => ex
|
|
20
|
+
# strip sometimes trigger 'invalid byte sequence in UTF-8' error
|
|
21
|
+
# This will happen if the data is binary but the reading of the data
|
|
22
|
+
# is in ascii format.
|
|
23
|
+
if ex.message =~ /invalid byte sequence/
|
|
24
|
+
cuLogger.twarn :is_empty?, "Invalid byte sequence exception might indicates the data is expected in binary but was given a ASCII buffer to test. Please load the data in binary and test again"
|
|
25
|
+
false
|
|
26
|
+
else
|
|
27
|
+
raise
|
|
28
|
+
end
|
|
17
29
|
end
|
|
30
|
+
|
|
18
31
|
elsif obj.respond_to?(:length)
|
|
19
32
|
obj.length == 0
|
|
20
33
|
elsif obj.respond_to?(:size)
|
|
@@ -48,6 +61,16 @@ module Antrapol
|
|
|
48
61
|
end
|
|
49
62
|
alias_method :is_str_bool?, :is_string_boolean?
|
|
50
63
|
|
|
64
|
+
def cuLogger
|
|
65
|
+
if @cuLogger.nil?
|
|
66
|
+
@cuLogger = Tlogger.new
|
|
67
|
+
end
|
|
68
|
+
@cuLogger
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
#
|
|
72
|
+
# Make it available at class level too
|
|
73
|
+
#
|
|
51
74
|
def self.included(klass)
|
|
52
75
|
klass.class_eval <<-END
|
|
53
76
|
extend Antrapol::ToolRack::ConditionUtils
|
|
@@ -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
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
|
|
2
|
+
require 'openssl'
|
|
3
|
+
|
|
4
|
+
module Antrapol
|
|
5
|
+
module ToolRack
|
|
6
|
+
module FileUtils
|
|
7
|
+
include Antrapol::ToolRack::DataConversionUtils
|
|
8
|
+
|
|
9
|
+
class FileUtilsError < StandardError; end
|
|
10
|
+
module ClassMethods
|
|
11
|
+
def is_same?(*args, &block)
|
|
12
|
+
opts = { verbose: false }
|
|
13
|
+
if args.last.is_a?(Hash)
|
|
14
|
+
opts.merge!(args.last)
|
|
15
|
+
target = args[0..-2]
|
|
16
|
+
else
|
|
17
|
+
target = args
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
raise FileUtilsError, "is_same? requires at least 2 files" if target.length < 2
|
|
21
|
+
|
|
22
|
+
res = true
|
|
23
|
+
size = nil
|
|
24
|
+
target.each do |f|
|
|
25
|
+
raise FileUtilsError, "Given file #{f} to is_same? does not exist" if not File.exist?(f)
|
|
26
|
+
|
|
27
|
+
if size.nil?
|
|
28
|
+
size = File.size(f)
|
|
29
|
+
elsif File.size(f) != size
|
|
30
|
+
res = false
|
|
31
|
+
break
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
if res
|
|
37
|
+
prevDigRes = nil
|
|
38
|
+
target.each do |f|
|
|
39
|
+
dig = OpenSSL::Digest.new("SHA256")
|
|
40
|
+
bufSize = 2048*1000
|
|
41
|
+
File.open(f,"rb") do |f|
|
|
42
|
+
dig.update(f.read(bufSize))
|
|
43
|
+
end
|
|
44
|
+
digRes = dig.digest
|
|
45
|
+
|
|
46
|
+
STDOUT.puts "#{f} : #{to_hex(digRes)}" if opts[:verbose]
|
|
47
|
+
|
|
48
|
+
if prevDigRes.nil?
|
|
49
|
+
prevDigRes = digRes
|
|
50
|
+
elsif prevDigRes != digRes
|
|
51
|
+
res = false
|
|
52
|
+
break
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
res
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def self.included(klass)
|
|
63
|
+
File.class_eval <<-END
|
|
64
|
+
extend Antrapol::ToolRack::FileUtils::ClassMethods
|
|
65
|
+
END
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
|
data/lib/toolrack/version.rb
CHANGED
data/lib/toolrack.rb
CHANGED
|
@@ -16,6 +16,8 @@ require_relative 'toolrack/hash_config'
|
|
|
16
16
|
require_relative 'toolrack/cli_utils'
|
|
17
17
|
require_relative 'toolrack/null_output'
|
|
18
18
|
require_relative 'toolrack/version_utils'
|
|
19
|
+
require_relative 'toolrack/file_utils'
|
|
20
|
+
require_relative 'toolrack/block_params_utils'
|
|
19
21
|
|
|
20
22
|
module Antrapol
|
|
21
23
|
module ToolRack
|
|
@@ -59,3 +61,7 @@ TR::NullOut = ToolRack::NullOutput
|
|
|
59
61
|
TR::VerUtils = ToolRack::VersionUtils
|
|
60
62
|
TR::VUtils = TR::VerUtils
|
|
61
63
|
|
|
64
|
+
TR::FileUtils = ToolRack::FileUtils
|
|
65
|
+
|
|
66
|
+
TR::BlockParamsUtils = ToolRack::BlockParamsUtils
|
|
67
|
+
|
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.18.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-11-26 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
|
- - ">="
|
|
@@ -74,6 +74,7 @@ extensions: []
|
|
|
74
74
|
extra_rdoc_files: []
|
|
75
75
|
files:
|
|
76
76
|
- ".gitignore"
|
|
77
|
+
- ".release_history.yml"
|
|
77
78
|
- ".rspec"
|
|
78
79
|
- ".travis.yml"
|
|
79
80
|
- CODE_OF_CONDUCT.md
|
|
@@ -83,10 +84,12 @@ files:
|
|
|
83
84
|
- bin/console
|
|
84
85
|
- bin/setup
|
|
85
86
|
- lib/toolrack.rb
|
|
87
|
+
- lib/toolrack/block_params_utils.rb
|
|
86
88
|
- lib/toolrack/cli_utils.rb
|
|
87
89
|
- lib/toolrack/condition_utils.rb
|
|
88
90
|
- lib/toolrack/data_conversion_utils.rb
|
|
89
91
|
- lib/toolrack/exception_utils.rb
|
|
92
|
+
- lib/toolrack/file_utils.rb
|
|
90
93
|
- lib/toolrack/global.rb
|
|
91
94
|
- lib/toolrack/hash_config.rb
|
|
92
95
|
- lib/toolrack/null_output.rb
|