toolrack 0.14.0 → 0.16.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 518ddfe481fa191f172644095ba791c7b07d9416bd2923beaed87555c2d13d19
4
- data.tar.gz: e0d91b53caaa6f2f6503a659851c575d9ef89782a5b461c4d3b209775a7a9863
3
+ metadata.gz: ab1dc47c48af6feb3a0aafffb05db94e72db915961c232e2c9574517cbd269fb
4
+ data.tar.gz: e584df8293bc3c1dea88ae07a1eadc4ff8b73d8593d4dd9c4d5cd7e5fa8813f1
5
5
  SHA512:
6
- metadata.gz: 424084db4af22765dae792d22c6b0f47ad5836a30d883319686c04ab5296a13e71db1a4d2d85d35c0833c764e21b0d95cc2dc0c6e147e15cbfd0c08a7f694c25
7
- data.tar.gz: 24dfcaacfde2b1423e2407c38c519b5ff0c4bb2fce1d7f497b856bd003dc61df0e25933d297716ab990d59e1a80d55d55a8a69c95a0fb5c02d835e1a013a8131
6
+ metadata.gz: 5c14eedd41bc09df2493b047b6641631c4f0144ddcd35bb48c5c8bcea16dee906cabe7f623141be8fa2b93d19677ea392d0de4a2d1ca64e71d45d42a077da972
7
+ data.tar.gz: a5a0d2b72ef55a4111a77718416b773737630eaf488e0ddb640d1f3c6300ff75493e2e36b449c670c75ca491ba96e1c2ad6efd66331ce9f2c2f886090eb747d5
@@ -0,0 +1,4 @@
1
+ ---
2
+ toolrack:
3
+ - :version: 0.16.1
4
+ :timestamp: 1635759283.7389827
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
3
 
4
- require 'devops_helper'
4
+ require 'devops_assist'
5
5
 
6
6
  Rake::TestTask.new(:test) do |t|
7
7
  t.libs << "test"
@@ -1,6 +1,4 @@
1
1
 
2
- require 'pty'
3
- require 'expect'
4
2
 
5
3
  module Antrapol
6
4
  module ToolRack
@@ -10,11 +10,24 @@ module Antrapol
10
10
  elsif obj.nil?
11
11
  true
12
12
  elsif obj.respond_to?(:empty?)
13
- if obj.respond_to?(:strip)
14
- obj.strip.empty?
15
- else
16
- obj.empty?
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,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
@@ -1,6 +1,6 @@
1
1
  module Antrapol
2
2
  module ToolRack
3
- VERSION = "0.14.0"
3
+ VERSION = "0.16.2"
4
4
  end
5
5
  end
6
6
 
@@ -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
@@ -14,6 +14,8 @@ require_relative 'toolrack/data_conversion_utils'
14
14
  require_relative 'toolrack/password_utils'
15
15
  require_relative 'toolrack/hash_config'
16
16
  require_relative 'toolrack/cli_utils'
17
+ require_relative 'toolrack/null_output'
18
+ require_relative 'toolrack/version_utils'
17
19
 
18
20
  module Antrapol
19
21
  module ToolRack
@@ -37,6 +39,8 @@ TR::DataConvUtils = ToolRack::DataConvUtils
37
39
  ToolRack::CondUtils = ToolRack::ConditionUtils
38
40
  TR::CondUtils = ToolRack::ConditionUtils
39
41
 
42
+ TR::ProcessUtils = ToolRack::ProcessUtils
43
+
40
44
  ToolRack::PassUtils = ToolRack::PasswordUtils
41
45
  TR::PassUtils = ToolRack::PasswordUtils
42
46
 
@@ -50,3 +54,8 @@ TR::HashConfig = ToolRack::HashConfig
50
54
 
51
55
  TR::CliUtils = ToolRack::CliUtils
52
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.14.0
4
+ version: 0.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-15 00:00:00.000000000 Z
11
+ date: 2021-11-08 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: devops_helper
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
@@ -89,11 +90,13 @@ files:
89
90
  - lib/toolrack/exception_utils.rb
90
91
  - lib/toolrack/global.rb
91
92
  - lib/toolrack/hash_config.rb
93
+ - lib/toolrack/null_output.rb
92
94
  - lib/toolrack/password_utils.rb
93
95
  - lib/toolrack/process_utils.rb
94
96
  - lib/toolrack/runtime_utils.rb
95
97
  - lib/toolrack/utils.rb
96
98
  - lib/toolrack/version.rb
99
+ - lib/toolrack/version_utils.rb
97
100
  - process_test/backtick_test.rb
98
101
  - process_test/pty_test.rb
99
102
  - process_test/shell_test.rb