toolrack 0.14.0 → 0.16.2

Sign up to get free protection for your applications and to get access to all the features.
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