tools 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/aux2 +1 -6
- data/bin/tools +5 -0
- data/lib/lib/.workin-history +1 -0
- data/lib/lib/array.rb +131 -0
- data/lib/lib/cache.rb +22 -23
- data/lib/lib/config.rb +6 -5
- data/lib/lib/console.rb +18 -25
- data/lib/lib/display.rb +19 -8
- data/lib/lib/files.rb +37 -1
- data/lib/lib/hash.rb +91 -0
- data/lib/lib/log.rb +2 -6
- data/lib/lib/net.rb +20 -12
- data/lib/lib/object.rb +42 -0
- data/lib/lib/prompt.rb +1 -1
- data/lib/lib/string.rb +83 -0
- data/lib/lib/utils.rb +17 -410
- data/lib/tools.rb +8 -13
- data/lib/tools/version.rb +1 -1
- data/test/mini_array.rb +53 -0
- data/test/mini_cache.rb +28 -0
- data/test/mini_config.rb +28 -0
- data/test/mini_console.rb +20 -0
- data/test/mini_display.rb +53 -0
- data/test/mini_file.rb +64 -0
- data/test/mini_hash.rb +155 -0
- data/test/mini_log.rb +21 -0
- data/test/mini_net.rb +223 -0
- data/test/mini_object.rb +35 -0
- data/test/mini_prompt.rb +82 -0
- data/test/mini_string.rb +48 -0
- data/test/mini_utils.rb +96 -0
- data/test/run +43 -0
- data/tools.gemspec +2 -2
- metadata +56 -44
- data/test/minitest/minit-display.rb +0 -29
- data/test/minitest/minit-tools.rb +0 -67
- data/test/minitest/run +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61950a249bdf881c27c25b12ad2fa00a1a367296a9d757e3e5d6a20c02bf215e
|
4
|
+
data.tar.gz: 7052e69306f06619d14742408f737ee4acb4c058962c1b840fff95160242c660
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81a58bbe0bd6e1233fa8f6e6929ea3fe594d28001fa580e8ca88583b4f554238ddfe6a0474f31be2f5d0a48e5a038fd0b6ceff364479ae0ba82a5ea46e36a3db
|
7
|
+
data.tar.gz: ab08b34343251ba9901376dfd60b0019ffc57fdc3369bda0286819c6a299f4b7bf52ed14c469fec75cd7536c8a0b33561a3fe73299c0d91e117e43f057cc3c5c
|
data/.ruby-gemset
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
tools2.2.10
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.2.
|
1
|
+
ruby-2.2.10
|
data/aux2
CHANGED
data/bin/tools
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
exit
|
data/lib/lib/array.rb
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
class Array
|
2
|
+
|
3
|
+
# Self pop first element.
|
4
|
+
# @return first element
|
5
|
+
def extract_first
|
6
|
+
first = self[0]
|
7
|
+
self.delete_at(0)
|
8
|
+
return first
|
9
|
+
end
|
10
|
+
|
11
|
+
# Self extract symbol.
|
12
|
+
# @param symbol to retrive
|
13
|
+
# @return boolean
|
14
|
+
def extract_symbol symbol
|
15
|
+
status = false
|
16
|
+
if self.include? symbol
|
17
|
+
status = true
|
18
|
+
self.delete(symbol)
|
19
|
+
end
|
20
|
+
return status
|
21
|
+
end
|
22
|
+
|
23
|
+
# Self extract color.
|
24
|
+
# @return boolean
|
25
|
+
def extract_color
|
26
|
+
colors = String.colors
|
27
|
+
color = :default
|
28
|
+
self.each do |argument|
|
29
|
+
if argument.symbol?
|
30
|
+
if colors.include? argument
|
31
|
+
color = argument
|
32
|
+
self.delete(argument)
|
33
|
+
return color
|
34
|
+
end
|
35
|
+
else
|
36
|
+
if argument.string?
|
37
|
+
if argument.start_with? ':'
|
38
|
+
color_candidate = argument.gsub(':','').to_sym
|
39
|
+
color = color_candidate if colors.include? color_candidate
|
40
|
+
self.delete(argument)
|
41
|
+
return color
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
return color
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
# Self extract option.
|
53
|
+
# @param option to extract.
|
54
|
+
# @param single boolean to repeat
|
55
|
+
# @return variable boolean, arguments - extract_option
|
56
|
+
#
|
57
|
+
# Sample
|
58
|
+
# args = [xxx -x -vvv -c -vcv -v2 -vvvvv -s :json :yellow :red]
|
59
|
+
# args.extract_option '-x' => true
|
60
|
+
# args.extract_option '-f' => false
|
61
|
+
# args.extract_option '-v', false => 8
|
62
|
+
# args.extract_symbol :json => true
|
63
|
+
# args.extract_symbol :yaml => false
|
64
|
+
# args.extract_color => :yellow
|
65
|
+
# args.extract_color => red
|
66
|
+
# args => [-c -vcv -v2 -s ]
|
67
|
+
#
|
68
|
+
def extract_option option, single = true
|
69
|
+
if single
|
70
|
+
result = false
|
71
|
+
if self.include? option
|
72
|
+
index = self.index(option)
|
73
|
+
self.delete_at(index)
|
74
|
+
result = true
|
75
|
+
end
|
76
|
+
else
|
77
|
+
result = 0
|
78
|
+
self.each do |argument|
|
79
|
+
if argument.to_s.start_with? option
|
80
|
+
#puts "'#{option}' '#{argument}' #{argument.start_with? option} \n"
|
81
|
+
search_char = option.sub('-','')
|
82
|
+
aux_string = argument.to_s.sub('-','')
|
83
|
+
count = argument.to_s.count(search_char)
|
84
|
+
if (count == aux_string.size)
|
85
|
+
result = result + count
|
86
|
+
#self.delete(argument)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
92
|
+
return result
|
93
|
+
end
|
94
|
+
|
95
|
+
def extract_option_value option, args={}
|
96
|
+
|
97
|
+
if args[:multiple].nil?
|
98
|
+
args[:multiple] = false
|
99
|
+
end
|
100
|
+
|
101
|
+
if args[:separator].nil?
|
102
|
+
args[:separator] = '='
|
103
|
+
end
|
104
|
+
|
105
|
+
result = false
|
106
|
+
if args[:multiple]
|
107
|
+
multiple_value = []
|
108
|
+
while self.include? option
|
109
|
+
index = self.index(option)
|
110
|
+
self.delete_at(index)
|
111
|
+
result = true
|
112
|
+
value = self.at(index)
|
113
|
+
multiple_value << self.at(index).split(args[:separator]).first
|
114
|
+
multiple_value << self.at(index).split(args[:separator]).last
|
115
|
+
self.delete_at(index)
|
116
|
+
end
|
117
|
+
return [result, multiple_value]
|
118
|
+
else
|
119
|
+
value = nil
|
120
|
+
while self.include? option
|
121
|
+
index = self.index(option)
|
122
|
+
self.delete_at(index)
|
123
|
+
result = true
|
124
|
+
value = self.at(index)
|
125
|
+
self.delete_at(index)
|
126
|
+
end
|
127
|
+
return [result, value]
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
data/lib/lib/cache.rb
CHANGED
@@ -62,7 +62,6 @@ class ToolsCache
|
|
62
62
|
aux.merge! values
|
63
63
|
cache[key] = aux
|
64
64
|
rescue Exception => e
|
65
|
-
log_file = ToolsUtil.get_variable "#{logger_name}_log_file"
|
66
65
|
ToolsDisplay.show "\tError in ToolsCache: #{e.exception}", :light_yellow
|
67
66
|
exit
|
68
67
|
end
|
@@ -87,28 +86,28 @@ class ToolsCache
|
|
87
86
|
# value = args.extract_first
|
88
87
|
# cache.set(key, value, Time.now)
|
89
88
|
|
90
|
-
when 'setext'
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
when 'unsetext'
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
89
|
+
# when 'setext'
|
90
|
+
# key = args.extract_first
|
91
|
+
# values = args.extract_first
|
92
|
+
# unless cache.key?(key)
|
93
|
+
# ToolsCache.cmdapi_set key, values
|
94
|
+
# else
|
95
|
+
# aux = cache[key]
|
96
|
+
# values.keys.each do |value|
|
97
|
+
# aux[value] = values[value]
|
98
|
+
# end
|
99
|
+
# ToolsCache.cmdapi_set key, aux
|
100
|
+
# end
|
101
|
+
|
102
|
+
# when 'unsetext'
|
103
|
+
# key = args.extract_first
|
104
|
+
# key_internal = args.extract_first
|
105
|
+
# if cache.key?(key)
|
106
|
+
# aux = cache[key]
|
107
|
+
# if aux.key? key_internal
|
108
|
+
# aux
|
109
|
+
# end
|
110
|
+
# end
|
112
111
|
|
113
112
|
when 'unset'
|
114
113
|
key = args.extract_first
|
data/lib/lib/config.rb
CHANGED
@@ -30,17 +30,18 @@ class ToolsConfig
|
|
30
30
|
config = File.open(config_file, 'w')
|
31
31
|
config.write JSON.pretty_generate(data)
|
32
32
|
config.close
|
33
|
-
ToolsLog.tools_info "Json config file '#{config_file}' was created!'"
|
34
|
-
return true
|
33
|
+
#ToolsLog.tools_info "Json config file '#{config_file}' was created!'"
|
34
|
+
#return true
|
35
35
|
when :yaml
|
36
36
|
config = File.open(config_file, 'w')
|
37
37
|
config.write data.to_yaml
|
38
38
|
config.close
|
39
|
-
ToolsLog.tools_info "Json config file '#{config_file}' was created!'"
|
40
|
-
return true
|
39
|
+
#ToolsLog.tools_info "Json config file '#{config_file}' was created!'"
|
40
|
+
#return true
|
41
41
|
end
|
42
42
|
else
|
43
|
-
ToolsLog.tools_warn "The file #{config_file} really exist. leaving operation...."
|
43
|
+
#ToolsLog.tools_warn "The file #{config_file} really exist. leaving operation...."
|
44
|
+
return false
|
44
45
|
end
|
45
46
|
ToolsUtil.set_variable "#{config_name}_config_file", config_file
|
46
47
|
ToolsUtil.set_variable "#{config_name}_config_type", config_type
|
data/lib/lib/console.rb
CHANGED
@@ -2,6 +2,20 @@ require 'singleton'
|
|
2
2
|
class ToolsConsole
|
3
3
|
include Singleton
|
4
4
|
|
5
|
+
def self.exec_console args
|
6
|
+
command_name = args.extract_first
|
7
|
+
cmd = Prompt.application.commands.select {|c| c.name.eql? command_name}.first
|
8
|
+
unless cmd.nil?
|
9
|
+
cmd.run cmd
|
10
|
+
return true
|
11
|
+
else
|
12
|
+
ToolsDisplay.show "Invalid command '#{command_name}'.! Aborting...", :light_yellow
|
13
|
+
return false
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize(options = {})
|
18
|
+
end
|
5
19
|
|
6
20
|
def self.create_console
|
7
21
|
|
@@ -9,24 +23,6 @@ class ToolsConsole
|
|
9
23
|
|
10
24
|
group "Console commands"
|
11
25
|
|
12
|
-
desc "configure"
|
13
|
-
param :config_type , "Config type search for roots locations...", %(location show)
|
14
|
-
command "config :config_type" do |config_type|
|
15
|
-
|
16
|
-
Prompt.application.prompt = "#{Tools.configuration.console_prompt} console > ".light_blue
|
17
|
-
puts "Choise yuor config action .:".yellow
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
desc "history"
|
22
|
-
command "history" do
|
23
|
-
File.open(@history_file, 'r') do |f|
|
24
|
-
while line = f.gets
|
25
|
-
puts line
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
26
|
desc "test"
|
31
27
|
command "test" do
|
32
28
|
puts 'Im a test.!'.yellow
|
@@ -34,9 +30,6 @@ class ToolsConsole
|
|
34
30
|
|
35
31
|
end
|
36
32
|
|
37
|
-
def self.my_method_missing
|
38
|
-
ap "my_method_missing"
|
39
|
-
end
|
40
33
|
|
41
34
|
def self.run_console
|
42
35
|
Prompt.application.prompt = "#{Tools.configuration.console_prompt} console > ".light_green
|
@@ -61,7 +54,7 @@ end
|
|
61
54
|
|
62
55
|
# def commands
|
63
56
|
|
64
|
-
# extend Prompt::DSL
|
57
|
+
# extend Prompt::DSL
|
65
58
|
|
66
59
|
# group "Commands"
|
67
60
|
|
@@ -84,7 +77,7 @@ end
|
|
84
77
|
# ap k
|
85
78
|
# ap v
|
86
79
|
# end
|
87
|
-
# else
|
80
|
+
# else
|
88
81
|
# ap Tools.get_variable param
|
89
82
|
# end
|
90
83
|
# end
|
@@ -96,7 +89,7 @@ end
|
|
96
89
|
|
97
90
|
# unless Tools.configuration.info[:directorys_to][from].nil?
|
98
91
|
# from = Tools.configuration.info[:directorys_to][from]
|
99
|
-
# from += ask("?? ")
|
92
|
+
# from += ask("?? ")
|
100
93
|
# else
|
101
94
|
# sourcefiles = File.join("**", from)
|
102
95
|
# Dir.glob(sourcefiles).each do |source|
|
@@ -139,7 +132,7 @@ end
|
|
139
132
|
|
140
133
|
|
141
134
|
# Prompt.application.prompt = " tools > ".light_red
|
142
|
-
# history_file = ".tools-history"
|
135
|
+
# history_file = ".tools-history"
|
143
136
|
# Prompt::Console.start history_file
|
144
137
|
|
145
138
|
# end
|
data/lib/lib/display.rb
CHANGED
@@ -2,6 +2,9 @@ require 'singleton'
|
|
2
2
|
class ToolsDisplay
|
3
3
|
include Singleton
|
4
4
|
|
5
|
+
def initialize(options = {})
|
6
|
+
end
|
7
|
+
|
5
8
|
# Tools to awesome prints
|
6
9
|
#
|
7
10
|
# ToolsDisplay.show "teste"
|
@@ -19,21 +22,29 @@ class ToolsDisplay
|
|
19
22
|
|
20
23
|
color = arguments.extract_color
|
21
24
|
sameline = arguments.extract_symbol :sameline
|
22
|
-
nocolor = arguments.extract_symbol :nocolor
|
25
|
+
#nocolor = arguments.extract_symbol :nocolor
|
23
26
|
colorized = arguments.extract_symbol :colorized
|
24
27
|
|
25
28
|
unless sameline
|
26
29
|
post += "\n"
|
27
30
|
end
|
28
|
-
|
29
|
-
|
31
|
+
|
32
|
+
if colorized
|
33
|
+
printf "#{post}"
|
30
34
|
else
|
31
|
-
|
32
|
-
ap post
|
33
|
-
else
|
34
|
-
printf "#{post}"
|
35
|
-
end
|
35
|
+
printf "#{post}".colorize(color)
|
36
36
|
end
|
37
|
+
|
38
|
+
# unless nocolor
|
39
|
+
# printf "#{post}".colorize(color)
|
40
|
+
# else
|
41
|
+
# if colorized
|
42
|
+
# ap post
|
43
|
+
# else
|
44
|
+
# printf "#{post}"
|
45
|
+
# end
|
46
|
+
# end
|
47
|
+
|
37
48
|
end
|
38
49
|
|
39
50
|
def self.show_colorize *arguments
|
data/lib/lib/files.rb
CHANGED
@@ -6,6 +6,24 @@ class ToolsFiles
|
|
6
6
|
end
|
7
7
|
|
8
8
|
|
9
|
+
# Purge files in directory
|
10
|
+
#
|
11
|
+
# Sample
|
12
|
+
# ToolsFiles. purge_files Cmdapi.configuration.home+'/.cmdapi/backup', '*', 14*24*60*60'
|
13
|
+
#
|
14
|
+
# @param path_to_clean
|
15
|
+
# @param select (sample: *.log)
|
16
|
+
# @param elipsed_time in seconds (sample: 2 weeks = 14*24*60*60)
|
17
|
+
# @return
|
18
|
+
def self.purge_files path, select, time #Cmdapi.configuration.home+'/.cmdapi/backup', '*', 14*24*60*60
|
19
|
+
to_clean = Dir.glob(File.join(path, select)).select { |a|
|
20
|
+
Time.now - File.ctime(a) > time }
|
21
|
+
to_clean.each do |file_to_delete|
|
22
|
+
File.delete(file_to_delete)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
|
9
27
|
# Create a directory in work area
|
10
28
|
#
|
11
29
|
# Sample
|
@@ -59,6 +77,21 @@ class ToolsFiles
|
|
59
77
|
end
|
60
78
|
end
|
61
79
|
|
80
|
+
# Delete a file in work area
|
81
|
+
#
|
82
|
+
# Sample
|
83
|
+
#
|
84
|
+
# ToolsFiles.delete_file file_to_delete
|
85
|
+
# @param file_to_delete Object
|
86
|
+
# @return
|
87
|
+
def self.remove_file file_to_removee
|
88
|
+
if File.exists? file_to_removee
|
89
|
+
file = FileUtils.remove_file( file_to_removee )
|
90
|
+
return file
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
62
95
|
def self.open_file file, default_editor=nil
|
63
96
|
begin
|
64
97
|
if default_editor.nil?
|
@@ -71,4 +104,7 @@ class ToolsFiles
|
|
71
104
|
end
|
72
105
|
end
|
73
106
|
|
74
|
-
end
|
107
|
+
end
|
108
|
+
|
109
|
+
|
110
|
+
|