tools 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
1
  module Tools
2
- VERSION = "0.4.5"
3
- HOMEPAGE = "https://github.com/Xyko/tools"
2
+ VERSION = '0.4.6'.freeze
3
+ HOMEPAGE = 'https://github.com/Xyko/tools'.freeze
4
4
  end
@@ -1,19 +1,18 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
6
5
 
7
6
  def test_hash_A_extract_first
8
- assert_equal ['a','b','c'].extract_first, 'a'
7
+ assert_equal %w[a b c].extract_first, 'a'
9
8
  end
10
9
 
11
10
  def test_hash_B_extract_first
12
- assert_equal (['a',:color,'c'].extract_symbol :color), true
11
+ assert_equal (['a', :color, 'c'].extract_symbol :color), true
13
12
  end
14
13
 
15
14
  def test_hash_C_extract_color
16
- args = ['xxx', '-x', '-vvv', :yellow, '-c', '-vcv', '-v2', '-vvvvv', '-s', :json, :red, :json]
15
+ args = ['xxx', '-x', '-vvv', :yellow, '-c', '-vcv', '-v2', '-vvvvv', '-s', :json, :red, :json]
17
16
  yellow = args.extract_color
18
17
  color = args.extract_color
19
18
  assert_equal yellow, :yellow
@@ -21,7 +20,7 @@ class ToolsModuleTest < Minitest::Test
21
20
  end
22
21
 
23
22
  def test_hash_D_extract_option
24
- args = ['xxx', '-x', '-vvv', :yellow, ':red','-c', '-vcv', '-v2', '-vvvvv', '-s', :json, :red, :json]
23
+ args = ['xxx', '-x', '-vvv', :yellow, ':red', '-c', '-vcv', '-v2', '-vvvvv', '-s', :json, :red, :json]
25
24
  yellow = args.extract_color
26
25
  red1 = args.extract_color
27
26
  red2 = args.extract_color
@@ -38,16 +37,12 @@ class ToolsModuleTest < Minitest::Test
38
37
  end
39
38
 
40
39
  def test_hash_D_extract_option_value
41
- args = ['-o', 'um', '-o', 'dois', '--desc', 'description', '-v', '-v', '-o', 'tres', '-s', :json, :red, :json]
40
+ args = ['-o', 'um', '-o', 'dois', '--desc', 'description', '-v', '-v', '-o', 'tres', '-s', :json, :red, :json]
42
41
  desc_status, desc = args.extract_option_value '--desc'
43
- status, origin = args.extract_option_value '-o', {:multiple => true}
42
+ status, origin = args.extract_option_value '-o', multiple: true
44
43
  assert_equal desc_status, true
45
44
  assert_equal desc, 'description'
46
45
  assert_equal status, true
47
- assert_equal origin, ['um','um','dois','dois','tres','tres']
46
+ assert_equal origin, %w[um um dois dois tres tres]
48
47
  end
49
-
50
-
51
48
  end
52
-
53
-
@@ -1,28 +1,25 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
6
5
 
7
6
  def test_cache_A_all_operators
8
7
  ToolsFiles.remove_file '/home/francisco/2018/xykotools/tools/teste-persistent.cache'
9
- ToolsCache.create_cache_file 'tools', (File.dirname __dir__) + '/teste-persistent.cache', 60
8
+ ToolsCache.create_cache_file 'tools', (File.dirname __dir__) + '/teste-persistent.cache', 60
10
9
  assert_equal ToolsCache.tools_list, {}
11
10
  ToolsCache.tools_set :k1, 100
12
- assert_equal ToolsCache.tools_list, {:k1 => 100}
11
+ assert_equal ToolsCache.tools_list, k1: 100
13
12
  ToolsCache.tools_unset :k1
14
13
  assert_equal ToolsCache.tools_list, {}
15
- ToolsCache.tools_set :k2, {:i => 100, :j => 200}
16
- ToolsCache.tools_set :k2, {:l => 100, :m => 200}
14
+ ToolsCache.tools_set :k2, i: 100, j: 200
15
+ ToolsCache.tools_set :k2, l: 100, m: 200
17
16
  ToolsCache.tools_set :k3, []
18
- ToolsCache.tools_set :k3, [1,2,3]
19
- ToolsCache.tools_set :k3, [4, ['a','b']]
20
- assert_equal (ToolsCache.tools_get :k3), [1,2,3,4,['a','b']]
21
- assert_equal (ToolsCache.tools_get :k2), {:i => 100, :j => 200,:l => 100, :m => 200}
17
+ ToolsCache.tools_set :k3, [1, 2, 3]
18
+ ToolsCache.tools_set :k3, [4, %w[a b]]
19
+ assert_equal (ToolsCache.tools_get :k3), [1, 2, 3, 4, %w[a b]]
20
+ assert_equal (ToolsCache.tools_get :k2), i: 100, j: 200, l: 100, m: 200
22
21
  ToolsCache.tools_clear
23
22
  assert_equal ToolsCache.tools_list, {}
24
23
  ToolsFiles.remove_file '/home/francisco/2018/xykotools/tools/teste-persistent.cache'
25
24
  end
26
-
27
-
28
- end
25
+ end
@@ -1,28 +1,37 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
6
5
 
7
- def test_log_A_all_operations
8
-
6
+ def test_config_A_before
9
7
  ToolsFiles.remove_file (File.dirname __dir__) + '/tools_yaml.config'
10
8
  ToolsFiles.remove_file (File.dirname __dir__) + '/tools_json.config'
11
- ToolsConfig.create_config_file 'tools_yaml', (File.dirname __dir__) +'/tools_yaml.config', :yaml, {:first_time => true}
12
- ToolsConfig.create_config_file 'tools_json', (File.dirname __dir__) +'/tools_json.config', :json, {:first_time => true}
13
- ToolsConfig.create_config_file 'tools_json', (File.dirname __dir__) +'/tools_json.config', :json, {:first_time => true}
9
+ end
10
+
11
+ def test_config_B_create
12
+ ToolsConfig.create_config_file 'tools_yaml', (File.dirname __dir__) + '/tools_yaml.config', :yaml, first_time: true
13
+ ToolsConfig.create_config_file 'tools_json', (File.dirname __dir__) + '/tools_json.config', :json, first_time: true
14
+ ToolsConfig.create_config_file 'tools_json', (File.dirname __dir__) + '/tools_json.config', :json, first_time: true
15
+ end
16
+
17
+ def test_config_C_load
14
18
  ToolsConfig.load_config (File.dirname __dir__) + '/tools_yaml.config'
15
19
  ToolsConfig.load_config (File.dirname __dir__) + '/tools_json.config'
20
+ end
16
21
 
17
- ToolsConfig.insert_in_config (File.dirname __dir__) +'/tools_yaml.config', {:first_time => false,}
18
- ToolsConfig.insert_in_config (File.dirname __dir__) +'/tools_json.config', {:first_time => false,}
22
+ def test_config_D_insert
23
+ ToolsConfig.insert_in_config (File.dirname __dir__) + '/tools_yaml.config', first_time: false
24
+ ToolsConfig.insert_in_config (File.dirname __dir__) + '/tools_json.config', first_time: false
25
+ end
19
26
 
20
- ToolsConfig.change_value_in_config (File.dirname __dir__) +'/tools_yaml.config', true , :first_time
21
- ToolsConfig.change_value_in_config (File.dirname __dir__) +'/tools_json.config', true , :first_time
27
+ def test_config_E_change
28
+ ToolsConfig.change_value_in_config (File.dirname __dir__) + '/tools_yaml.config', true, :first_time
29
+ ToolsConfig.change_value_in_config (File.dirname __dir__) + '/tools_json.config', true, :first_time
30
+ end
22
31
 
32
+ def test_config_F_after
23
33
  ToolsFiles.remove_file (File.dirname __dir__) + '/tools_yaml.config'
24
34
  ToolsFiles.remove_file (File.dirname __dir__) + '/tools_json.config'
25
-
26
35
  end
27
36
 
28
- end
37
+ end
@@ -1,20 +1,18 @@
1
-
2
1
  class ToolsModuleTest < Minitest::Test
3
-
4
2
  def self.test_order
5
3
  :sorted
6
4
  end
7
5
 
8
-
9
6
  def test_console_A_run_console
10
- mock = MiniTest::Mock.new
11
- def mock.start *args; true; end
7
+ mock = MiniTest::Mock.new
8
+ def mock.start(*_args)
9
+ true
10
+ end
12
11
  Prompt::Console.stub :start, mock do
13
12
  assert_equal ToolsConsole.create_console.class, Array
14
13
  assert_equal (ToolsConsole.exec_console ['test']), true
15
14
  assert_equal (ToolsConsole.exec_console ['tes']), false
16
- assert_equal ToolsConsole.run_console.class, Minitest::Mock
15
+ ToolsConsole.run_console
17
16
  end
18
17
  end
19
-
20
- end
18
+ end
@@ -1,5 +1,4 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
@@ -9,7 +8,7 @@ class ToolsModuleTest < Minitest::Test
9
8
  old_stdout = $stdout
10
9
  captured_stdio = StringIO.new('', 'w')
11
10
  $stdout = captured_stdio
12
- ToolsDisplay.show "TEXTO VERDE", :green
11
+ ToolsDisplay.show 'TEXTO VERDE', :green
13
12
  $stdout = old_stdout
14
13
  assert_equal "\e[0;32;49mTEXTO VERDE\n\e[0m", captured_stdio.string
15
14
  end
@@ -19,7 +18,7 @@ class ToolsModuleTest < Minitest::Test
19
18
  old_stdout = $stdout
20
19
  captured_stdio = StringIO.new('', 'w')
21
20
  $stdout = captured_stdio
22
- ToolsDisplay.show "TEXTO SAMELINE", :sameline
21
+ ToolsDisplay.show 'TEXTO SAMELINE', :sameline
23
22
  $stdout = old_stdout
24
23
  assert_equal "\e[0;39;49mTEXTO SAMELINE\e[0m", captured_stdio.string
25
24
  end
@@ -29,7 +28,7 @@ class ToolsModuleTest < Minitest::Test
29
28
  old_stdout = $stdout
30
29
  captured_stdio = StringIO.new('', 'w')
31
30
  $stdout = captured_stdio
32
- ToolsDisplay.show_colorize "red".red+ " " + "white".white
31
+ ToolsDisplay.show_colorize 'red'.red + ' ' + 'white'.white
33
32
  $stdout = old_stdout
34
33
  assert_equal "\e[0;31;49mred\e[0m \e[0;37;49mwhite\e[0m\n", captured_stdio.string
35
34
  end
@@ -39,15 +38,13 @@ class ToolsModuleTest < Minitest::Test
39
38
  old_stdout = $stdout
40
39
  captured_stdio = StringIO.new('', 'w')
41
40
  $stdout = captured_stdio
42
- ToolsDisplay.show "red".red+ " " + "white".white, :colorized
41
+ ToolsDisplay.show 'red'.red + ' ' + 'white'.white, :colorized
43
42
  $stdout = old_stdout
44
43
  assert_equal "\e[0;31;49mred\e[0m \e[0;37;49mwhite\e[0m\n", captured_stdio.string
45
44
  end
46
45
 
47
46
  def test_dislay_E_error
48
47
  result = ToolsDisplay.show []
49
- assert_equal "Array", result
48
+ assert_equal 'Array', result
50
49
  end
51
-
52
-
53
- end
50
+ end
@@ -1,32 +1,32 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
6
5
 
7
6
  def test_file_A_purge
8
7
  mock = MiniTest::Mock.new
9
- def mock.delete *args; Array; end
8
+ def mock.delete(*_args)
9
+ Array
10
+ end
10
11
  File.stub :delete, mock do
11
- assert_equal (ToolsFiles.purge_files (File.dirname __dir__)+'/pkg', '*.gem', 1).class, Array
12
+ assert_equal (ToolsFiles.purge_files (File.dirname __dir__) + '/pkg', '*.gem', 1).class, Array
12
13
  end
13
14
  end
14
15
 
15
16
  def test_file_B_create_dir
16
17
  mock = MiniTest::Mock.new
17
- def mock.mkdir *args; String; end
18
+ def mock.mkdir(*_args)
19
+ String
20
+ end
18
21
  Dir.stub :mkdir, mock do
19
- assert_equal (ToolsFiles.create_dir (File.dirname __dir__)+'/pkg', 'minitest').class, String
20
- assert_equal (ToolsFiles.create_dir (File.dirname __dir__)+'/pkg2', 'minitest').class, String
22
+ assert_equal (ToolsFiles.create_dir (File.dirname __dir__) + '/pkg', 'minitest').class, String
23
+ assert_equal (ToolsFiles.create_dir (File.dirname __dir__) + '/pkg2', 'minitest').class, String
21
24
  end
22
25
  end
23
26
 
24
- def test_file_C_create_file
25
- mock = MiniTest::Mock.new
26
- def mock.open *args; String; end
27
- File.stub :open, mock do
28
- assert_equal (ToolsFiles.create_file (File.dirname __dir__)+'/pkg', 'minitest', 'minitest').class, String
29
- end
27
+ def test_file_C_create_delete_file
28
+ ToolsFiles.create_file (File.dirname __dir__), '/create_file', 'teste'
29
+ ToolsFiles.remove_file (File.dirname __dir__) + '/create_file'
30
30
  end
31
31
 
32
32
  def test_file_D_load_file
@@ -44,21 +44,17 @@ class ToolsModuleTest < Minitest::Test
44
44
  end
45
45
 
46
46
  def test_file_G_open_file
47
+
47
48
  mock = MiniTest::Mock.new
48
- def mock.open *args; true; end
49
+ def mock.open(*_args)
50
+ true
51
+ end
49
52
  TTY::Editor.stub :open, mock do
50
- assert_equal (ToolsFiles.open_file '').class, Minitest::Mock
51
- assert_equal (ToolsFiles.open_file '', :vi).class, Minitest::Mock
53
+ file = (File.dirname __dir__) + '/TODO.txt'
54
+ ToolsFiles.open_file file, :vi
55
+ ToolsFiles.open_file file
52
56
  end
53
57
  end
54
58
 
55
59
 
56
- def test_file_H_remove_file
57
- mock = MiniTest::Mock.new
58
- def mock.remove_file *args; String; end
59
- FileUtils.stub :remove_file, mock do
60
- assert_equal (ToolsFiles.remove_file (File.dirname __dir__)+'/pkg').class, Minitest::Mock
61
- end
62
- end
63
-
64
- end
60
+ end
@@ -1,5 +1,4 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
@@ -8,60 +7,51 @@ class ToolsModuleTest < Minitest::Test
8
7
  data = {
9
8
  'k1' => 100,
10
9
  'k2' => 'v2',
11
- :k3 => {
12
- :a => 100,
13
- },
10
+ :k3 => {
11
+ a: 100
12
+ }
14
13
  }
15
14
  result = {
16
- "k1" => 100,
17
- "k2" => "v2",
18
- :k3 => {
19
- :a => 100,
20
- :k2 => 200
15
+ 'k1' => 100,
16
+ 'k2' => 'v2',
17
+ :k3 => {
18
+ a: 100,
19
+ k2: 200
21
20
  },
22
- :k1 => 100,
21
+ :k1 => 100
23
22
  }
24
- data.rmerge!( {:k1 => 100} )
25
- data.rmerge!( {:k3 => {:k2 => 200}})
23
+ data.rmerge!(k1: 100)
24
+ data.rmerge!(k3: { k2: 200 })
26
25
  assert_equal data, result
27
26
 
28
27
  result_merge = {
29
- "k1" => 100,
30
- "k2" => "v2",
31
- :k3 => {
32
- :a => 100,
33
- :k2 => 200
34
- },
35
- :k1 => 100
28
+ 'k1' => 100,
29
+ 'k2' => 'v2',
30
+ :k3 => {
31
+ a: 100,
32
+ k2: 200
33
+ },
34
+ :k1 => 100
36
35
  }
37
36
 
38
- hash = data.rmerge( {:k1 => 100} )
37
+ hash = data.rmerge(k1: 100)
39
38
  assert_equal hash, result_merge
40
39
 
41
- x = {:k1 => 100 , :k2 => { :k3 => {:a => 100}}}
42
- assert_equal x.rblank, {:k2 => {:k3 => {}}}
43
- assert_equal x.rblank!, {:k2 => {:k3 => {}}}
40
+ x = { k1: 100, k2: { k3: { a: 100 } } }
41
+ assert_equal x.rblank, k2: { k3: {} }
42
+ assert_equal x.rblank!, k2: { k3: {} }
44
43
 
45
- x = {:k1 => 100 , :k2 => { :k3 => {:a => 100}}}
44
+ x = { k1: 100, k2: { k3: { a: 100 } } }
46
45
  y = x.rblank
47
46
  diff = x.diff y
48
- assert_equal diff, {:k1=>[100, nil], :k2=>{:k3=>{:a=>[100, nil]}}}
49
-
50
-
51
- x = {:k1 => 100 , :k2 => { :k3 => {:a => 100}}}
52
- y = x.nested_set [:k2,:k3,:a], 200
53
- assert_equal x, {:k1 => 100 , :k2 => { :k3 => {:a => 200}}}
47
+ assert_equal diff, k1: [100, nil], k2: { k3: { a: [100, nil] } }
54
48
 
49
+ x = { k1: 100, k2: { k3: { a: 100 } } }
50
+ y = x.nested_set %i[k2 k3 a], 200
51
+ assert_equal x, k1: 100, k2: { k3: { a: 200 } }
55
52
  end
56
-
57
-
58
-
59
-
60
-
61
53
  end
62
54
 
63
-
64
-
65
55
  # module HashRecursiveBlank
66
56
  # def rblank
67
57
  # r = {}
@@ -124,7 +114,6 @@ end
124
114
  # end
125
115
  # end
126
116
 
127
-
128
117
  # class Hash
129
118
 
130
119
  # # ensures nested hash from keys, and sets final key to value
@@ -1,5 +1,4 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
@@ -8,7 +7,7 @@ class ToolsModuleTest < Minitest::Test
8
7
  ToolsFiles.remove_file (File.dirname __dir__) + '/teste.log'
9
8
  ToolsLog.create_log_file 'test', (File.dirname __dir__) + '/teste.log'
10
9
  ToolsLog.create_log_file 'test', (File.dirname __dir__) + '/teste.log'
11
- FileUtils.touch (File.dirname __dir__) + '/teste.log', :mtime => (Time.now - 86400)
10
+ FileUtils.touch (File.dirname __dir__) + '/teste.log', mtime: (Time.now - 86_400)
12
11
  ToolsLog.test_info 'Minitest.: test_log'
13
12
  ToolsLog.test_warn 'Minitest.: test_log'
14
13
  ToolsLog.test_error 'Minitest.: test_log'
@@ -17,5 +16,4 @@ class ToolsModuleTest < Minitest::Test
17
16
  ToolsLog.test_ucolorx 'Minitest.: test_log'
18
17
  ToolsFiles.remove_file (File.dirname __dir__) + '/teste.log'
19
18
  end
20
-
21
- end
19
+ end
@@ -1,5 +1,4 @@
1
1
  class ToolsModuleTest < Minitest::Test
2
-
3
2
  def self.test_order
4
3
  :sorted
5
4
  end
@@ -15,209 +14,192 @@ class ToolsModuleTest < Minitest::Test
15
14
  assert_equal (ToolsNet.validate_ipaddress ip)[:type], 'ip'
16
15
  assert_equal (ToolsNet.validate_ipaddress '100.0.0.0/28')[:status], true
17
16
  assert_equal (ToolsNet.validate_ipaddress '100.0.0.0/28')[:type], 'mask'
18
- assert_equal (ToolsNet.validate_ipaddress ip+'x')[:status], false
17
+ assert_equal (ToolsNet.validate_ipaddress ip + 'x')[:status], false
19
18
  assert_equal (ToolsNet.validate_ipaddress '100.0.0.0/28x')[:status], false
20
19
  assert_equal (ToolsNet.is_backend? '10.1.2.3'), true
21
20
  assert_equal (ToolsNet.is_backend? '201.0.0.1'), false
22
21
  assert_equal (ToolsNet.valid_network? ip), false
23
22
  assert_equal (ToolsNet.valid_network? '110.0.0.0/28'), true
24
- assert_equal (ToolsNet.resolv_dns 'www.wikipedia.org'), "208.80.154.224"
23
+ assert_equal (ToolsNet.resolv_dns 'www.wikipedia.org'), '208.80.154.224'
25
24
  assert_nil (ToolsNet.resolv_dns 'www.wikipedia.orgx')
26
- assert_equal (ToolsNet.resolv_ip_name "208.80.154.224"), "text-lb.eqiad.wikimedia.org"
27
- assert_equal (ToolsNet.resolv_ip_name "208.80.154.224x"), "cannot interpret as address: 208.80.154.224x"
25
+ assert_equal (ToolsNet.resolv_ip_name '208.80.154.224'), 'text-lb.eqiad.wikimedia.org'
26
+ assert_equal (ToolsNet.resolv_ip_name '208.80.154.224x'), 'cannot interpret as address: 208.80.154.224x'
28
27
  end
29
28
 
30
29
  def test_net_C_valid_port
31
30
  assert_equal (ToolsNet.valid_port? 8888), true
32
31
  assert_equal (ToolsNet.valid_port? -1), false
33
32
  assert_equal (ToolsNet.valid_port? 0), false
34
- assert_equal (ToolsNet.valid_port? 100000), false
33
+ assert_equal (ToolsNet.valid_port? 100_000), false
35
34
  end
36
35
 
37
-
38
36
  def test_net_D_doreq
39
37
  resource = RestClient::Resource.new('www.google.com')
40
- validate_opts = {quit_on_error: false}
38
+ validate_opts = { quit_on_error: false }
41
39
  method_opts = {}
42
- params={:method => :get}
40
+ params = { method: :get }
43
41
  uri = ''
44
- if params.has_key? :expected
45
- validate_opts[:expected] = params[:expected]
46
- end
47
- if params.has_key? :data
48
- method_opts = {:data => params[:data].to_json}
49
- end
50
- result = ToolsNet.doreq resource,
51
- uri,
52
- params[:method],
53
- show_progress: true,
54
- method_opts: method_opts,
55
- validate_opts: validate_opts,
56
- retry_opts: {
57
- attempts: 1,
58
- when_res: [nil, [], {}, ''],
59
- when_code: []}
42
+ validate_opts[:expected] = params[:expected] if params.key? :expected
43
+ method_opts = { data: params[:data].to_json } if params.key? :data
44
+ result = ToolsNet.doreq resource,
45
+ uri,
46
+ params[:method],
47
+ show_progress: true,
48
+ method_opts: method_opts,
49
+ validate_opts: validate_opts,
50
+ retry_opts: {
51
+ attempts: 1,
52
+ when_res: [nil, [], {}, ''],
53
+ when_code: []
54
+ }
60
55
  assert_equal result.code, 200
61
56
  end
62
-
63
-
64
57
  end
65
58
 
66
-
67
-
68
-
69
- # # Resolv a ip to a dns.
70
- # #
71
- # # @param ip variable ip to resolv
72
- # # @return [String] Dns name resolved
73
- # def self.resolv_ip_name ip
74
- # s = ''
75
- # begin
76
- # ret = Resolv.new.getname(ip)
77
- # return ret.instance_variable_get('@labels').join('.')
78
- # rescue Exception => e
79
- # case e.message
80
- # when "Dnsruby::NXDomain"
81
- # return nil
82
- # else
83
- # return e.message
84
- # end
85
- # end
86
- # return s.strip
87
- # end
88
-
89
-
90
- # # Resolv a dns to a ip.
91
- # #
92
- # # @param domain variable ip to resolv
93
- # # @return [String] Dns address resolved
94
- # def self.resolv_dns domain
95
- # begin
96
- # dns = Dnsruby::DNS.new()
97
- # ret = dns.getaddress(domain).to_s
98
- # rescue Exception => e
99
- # case e.message
100
- # when "Dnsruby::NXDomain"
101
- # return nil
102
- # else
103
- # return e.message
104
- # end
105
- # end
106
- # return ret
107
- # end
108
-
109
-
110
- # # Do the request, validate and decode response and do the retries if needed
111
- # #
112
- # # - restclient_obj: initialized RestClient object
113
- # # - path: URL path to request
114
- # # - method: symbol for HTTP Method to request
115
- # # - method_opts: options as passed to a RestClient call
116
- # # - validate_opts: options for response validation as used with
117
- # # validate_decode_response()
118
- # # - retry_opts: when_res: [nil, [], {}, 'str'], when_code: [404, 500],
119
- # # conditionals to retry even if no exceptions were catched
120
- # # @param restclient_obj Rest Object
121
- # # @param path path
122
- # # @param method method
123
- # # @param method_opts method opts
124
- # # @param validate_opts validate opts
125
- # # @param retry_opts retry opts
126
- # # @param show_progress default false
127
- # def self.doreq( restclient_obj, path, method, method_opts: {},validate_opts: {}, retry_opts: {}, show_progress: false)
128
- # res = nil
129
- # code = nil
130
- # data = method_opts.fetch(:data, nil)
131
- # method_opts.delete(:data)
132
-
133
- # # Retry loop due to:
134
- # # - 404 from Router API right after applying patch over a target
135
- # # - Intermittent connection reset from Manager API (HTTPS)
136
- # retries = retry_opts.fetch(:attempts, 10)
137
- # 1.upto(retries) do |try|
138
- # flag_error = false
139
- # # The request
140
- # begin
141
- # restclient_obj[path].send(method, *data, **method_opts) do |response, request, result|
142
- # res = validate_decode_response(response, request, result, validate_opts)
143
- # code = result.code.to_i
144
- # end
145
- # rescue Exception => error
146
- # flag_error = true
147
- # end
148
- # # Other conditionals to retry
149
- # unless retry_opts.empty?
150
- # if retry_opts.has_key?(:when_res)
151
- # flag_error = true if retry_opts[:when_res].include?(res)
152
- # end
153
- # if retry_opts.has_key?(:when_code)
154
- # flag_error = true if retry_opts[:when_code].include?(code)
155
- # end
156
- # end
157
- # return res unless flag_error # got response, break the loop
158
- # doReqMSG = sprintf "%d/%d", try, retries
159
- # if show_progress
160
- # ap doReqMSG
161
- # end
162
- # if try >= retries
163
- # ap doreq_code
164
- # return nil
165
- # else
166
- # sleep 1 # wait before next
167
- # end
168
- # end
169
- # end
170
-
171
- # # Return a valid decode response.
172
- # #
173
- # # @param response
174
- # # @param request
175
- # # @param result
176
- # # @param validate_opts
177
- # # @return [Object type] Array or Proc or String or Error
178
- # def self.validate_decode_response response, request, result, validate_opts
179
- # if validate_opts.has_key? :expected
180
- # expected = validate_opts[:expected]
181
- # case expected.class.name
182
- # when 'Array'
183
- # if validate_opts[:expected].include? response
184
- # return true
185
- # else
186
- # return false
187
- # end
188
- # when 'Proc'
189
- # response = expected.call(response, request, result)
190
- # return response
191
- # when 'String'
192
- # return result if validate_opts[:expected].eql? 'result'
193
- # return request if validate_opts[:expected].eql? 'request'
194
- # return response if validate_opts[:expected].eql? 'response'
195
- # else
196
- # ap expected.class.name
197
- # return response
198
- # end
199
- # else
200
- # return response
201
- # end
202
- # return true
203
- # end
204
-
205
-
206
- # # Validate.: port number between valid range?.
207
- # #
208
- # # @param port number to be validate.
209
- # # @return [Boolean]
210
- # def self.valid_port? port
211
- # if port.to_s.strip.match(/^\d{1,5}(?!\d)$/).nil?
212
- # return false
213
- # end
214
- # unless port.to_i.between?(1, 65535)
215
- # return false
216
- # end
217
- # return true
218
- # end
219
-
220
-
221
-
222
-
223
-
59
+ # # Resolv a ip to a dns.
60
+ # #
61
+ # # @param ip variable ip to resolv
62
+ # # @return [String] Dns name resolved
63
+ # def self.resolv_ip_name ip
64
+ # s = ''
65
+ # begin
66
+ # ret = Resolv.new.getname(ip)
67
+ # return ret.instance_variable_get('@labels').join('.')
68
+ # rescue Exception => e
69
+ # case e.message
70
+ # when "Dnsruby::NXDomain"
71
+ # return nil
72
+ # else
73
+ # return e.message
74
+ # end
75
+ # end
76
+ # return s.strip
77
+ # end
78
+
79
+ # # Resolv a dns to a ip.
80
+ # #
81
+ # # @param domain variable ip to resolv
82
+ # # @return [String] Dns address resolved
83
+ # def self.resolv_dns domain
84
+ # begin
85
+ # dns = Dnsruby::DNS.new()
86
+ # ret = dns.getaddress(domain).to_s
87
+ # rescue Exception => e
88
+ # case e.message
89
+ # when "Dnsruby::NXDomain"
90
+ # return nil
91
+ # else
92
+ # return e.message
93
+ # end
94
+ # end
95
+ # return ret
96
+ # end
97
+
98
+ # # Do the request, validate and decode response and do the retries if needed
99
+ # #
100
+ # # - restclient_obj: initialized RestClient object
101
+ # # - path: URL path to request
102
+ # # - method: symbol for HTTP Method to request
103
+ # # - method_opts: options as passed to a RestClient call
104
+ # # - validate_opts: options for response validation as used with
105
+ # # validate_decode_response()
106
+ # # - retry_opts: when_res: [nil, [], {}, 'str'], when_code: [404, 500],
107
+ # # conditionals to retry even if no exceptions were catched
108
+ # # @param restclient_obj Rest Object
109
+ # # @param path path
110
+ # # @param method method
111
+ # # @param method_opts method opts
112
+ # # @param validate_opts validate opts
113
+ # # @param retry_opts retry opts
114
+ # # @param show_progress default false
115
+ # def self.doreq( restclient_obj, path, method, method_opts: {},validate_opts: {}, retry_opts: {}, show_progress: false)
116
+ # res = nil
117
+ # code = nil
118
+ # data = method_opts.fetch(:data, nil)
119
+ # method_opts.delete(:data)
120
+
121
+ # # Retry loop due to:
122
+ # # - 404 from Router API right after applying patch over a target
123
+ # # - Intermittent connection reset from Manager API (HTTPS)
124
+ # retries = retry_opts.fetch(:attempts, 10)
125
+ # 1.upto(retries) do |try|
126
+ # flag_error = false
127
+ # # The request
128
+ # begin
129
+ # restclient_obj[path].send(method, *data, **method_opts) do |response, request, result|
130
+ # res = validate_decode_response(response, request, result, validate_opts)
131
+ # code = result.code.to_i
132
+ # end
133
+ # rescue Exception => error
134
+ # flag_error = true
135
+ # end
136
+ # # Other conditionals to retry
137
+ # unless retry_opts.empty?
138
+ # if retry_opts.has_key?(:when_res)
139
+ # flag_error = true if retry_opts[:when_res].include?(res)
140
+ # end
141
+ # if retry_opts.has_key?(:when_code)
142
+ # flag_error = true if retry_opts[:when_code].include?(code)
143
+ # end
144
+ # end
145
+ # return res unless flag_error # got response, break the loop
146
+ # doReqMSG = sprintf "%d/%d", try, retries
147
+ # if show_progress
148
+ # ap doReqMSG
149
+ # end
150
+ # if try >= retries
151
+ # ap doreq_code
152
+ # return nil
153
+ # else
154
+ # sleep 1 # wait before next
155
+ # end
156
+ # end
157
+ # end
158
+
159
+ # # Return a valid decode response.
160
+ # #
161
+ # # @param response
162
+ # # @param request
163
+ # # @param result
164
+ # # @param validate_opts
165
+ # # @return [Object type] Array or Proc or String or Error
166
+ # def self.validate_decode_response response, request, result, validate_opts
167
+ # if validate_opts.has_key? :expected
168
+ # expected = validate_opts[:expected]
169
+ # case expected.class.name
170
+ # when 'Array'
171
+ # if validate_opts[:expected].include? response
172
+ # return true
173
+ # else
174
+ # return false
175
+ # end
176
+ # when 'Proc'
177
+ # response = expected.call(response, request, result)
178
+ # return response
179
+ # when 'String'
180
+ # return result if validate_opts[:expected].eql? 'result'
181
+ # return request if validate_opts[:expected].eql? 'request'
182
+ # return response if validate_opts[:expected].eql? 'response'
183
+ # else
184
+ # ap expected.class.name
185
+ # return response
186
+ # end
187
+ # else
188
+ # return response
189
+ # end
190
+ # return true
191
+ # end
192
+
193
+ # # Validate.: port number between valid range?.
194
+ # #
195
+ # # @param port number to be validate.
196
+ # # @return [Boolean]
197
+ # def self.valid_port? port
198
+ # if port.to_s.strip.match(/^\d{1,5}(?!\d)$/).nil?
199
+ # return false
200
+ # end
201
+ # unless port.to_i.between?(1, 65535)
202
+ # return false
203
+ # end
204
+ # return true
205
+ # end