sysll 0.1.2 → 1.1.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/lib/cmd.rb +64 -106
- data/lib/sysll.rb +5 -0
- data/locales/en.yml +38 -0
- data/locales/pt.yml +38 -0
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c32c235b5cfcada2188c632dc5560e1b81b69779b6c50b6482f92b4a6873632e
|
4
|
+
data.tar.gz: 9da232401408799f35fefcad2a61e1e34255a36a528a14c6020423da5c14a448
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22270d2b6ebb08335e61a3e2627a12e6ea55d05e5bc10b48fd9a93be412a6cecea89e77807b019595d51ece81c420ad162fd69095caa3cbad1f484471666e5f5
|
7
|
+
data.tar.gz: 4f6cee55519b6f731e3503cbf4f270255d36a29103261c2ce898ac5205225248630a70a1340e96a4390bee455c652c2f27f17843630601ae160d555ee4590951
|
data/lib/cmd.rb
CHANGED
@@ -1,151 +1,109 @@
|
|
1
1
|
require_relative 'sysverify'
|
2
2
|
|
3
3
|
module CMD
|
4
|
+
module Utils
|
5
|
+
def execute_command(command, error_key, args = {})
|
6
|
+
success = system(command)
|
7
|
+
unless success
|
8
|
+
error = I18n.t("errors.#{error_key}", **args)
|
9
|
+
print_error(error)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def print_error(error)
|
14
|
+
puts "Error Code: #{error[:code]}"
|
15
|
+
puts "Error Type: #{error[:type]}"
|
16
|
+
puts "Message: #{error[:message]}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
4
20
|
class CALL
|
21
|
+
extend CMD::Utils
|
5
22
|
def self.clear
|
6
|
-
|
7
|
-
|
8
|
-
system('cls')
|
9
|
-
else
|
10
|
-
system('clear')
|
11
|
-
end
|
23
|
+
cmd_clear = SYSll::VERIFY.os == :windows ? 'cls' : 'clear'
|
24
|
+
execute_command(cmd_clear, "clear_failed")
|
12
25
|
end
|
13
26
|
|
14
27
|
def self.list_files(flags = nil)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
else
|
22
|
-
system("ls #{flags}")
|
23
|
-
end
|
24
|
-
end
|
28
|
+
cmd_lf = if SYSll::VERIFY.os == :windows
|
29
|
+
'dir'
|
30
|
+
else
|
31
|
+
flags.nil? ? "ls" : "ls #{flags}"
|
32
|
+
end
|
33
|
+
execute_command(cmd_lf, "list_files_failed")
|
25
34
|
end
|
26
35
|
|
27
36
|
def self.network_info
|
28
|
-
|
29
|
-
|
30
|
-
system('ipconfig')
|
31
|
-
else
|
32
|
-
system('ifconfig')
|
33
|
-
end
|
37
|
+
cmd_netinf = SYSll::VERIFY.os == :windows ? 'ipconfig' : 'ifconfig'
|
38
|
+
execute_command(cmd_netinf, "network_info_failed")
|
34
39
|
end
|
35
40
|
|
36
41
|
def self.process_info
|
37
|
-
|
38
|
-
|
39
|
-
system("tasklist")
|
40
|
-
else
|
41
|
-
system("ps aux")
|
42
|
-
end
|
42
|
+
cmd_process = SYSll::VERIFY.os == :windows ? 'tasklist' : 'ps aux'
|
43
|
+
execute_command(cmd_process, "process_info_failed")
|
43
44
|
end
|
44
45
|
|
45
46
|
def self.kill_process(pid, flag = nil)
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
53
|
-
else
|
54
|
-
if flags.nil?
|
55
|
-
system("kill #{pid}")
|
56
|
-
else
|
57
|
-
system("kill #{flag} #{pid}")
|
58
|
-
end
|
59
|
-
end
|
47
|
+
cmd_kill = if SYSll::VERIFY.os == :windows
|
48
|
+
flag.nil? ? "taskkill /PID #{pid}" : "taskkill /PID #{pid} #{flag}"
|
49
|
+
else
|
50
|
+
flag.nil? ? "kill #{pid}" : "kill #{flag} #{pid}"
|
51
|
+
end
|
52
|
+
execute_command(cmd_kill, "kill_process_failed", pid: pid)
|
60
53
|
end
|
61
54
|
|
62
55
|
def self.sys(flags = nil)
|
63
|
-
|
64
|
-
|
65
|
-
system("systeminfo")
|
66
|
-
else
|
67
|
-
if flags.nil?
|
68
|
-
system("uname")
|
69
|
-
else
|
70
|
-
system("uname #{flags}")
|
71
|
-
end
|
72
|
-
end
|
56
|
+
cmd_sys = SYSll::VERIFY.os == :windows ? "systeminfo" : flags.nil? ? "uname" : "uname #{flags}"
|
57
|
+
execute_command(cmd_sys, "sys_failed")
|
73
58
|
end
|
74
59
|
end
|
75
60
|
|
76
61
|
class KERNEL
|
62
|
+
extend CMD::Utils
|
77
63
|
DELIMITERS = ["\n"]
|
78
64
|
REGSPLIT = Regexp.union(DELIMITERS)
|
79
65
|
def self.clear
|
80
|
-
|
81
|
-
|
82
|
-
return Kernel.`("cls")
|
83
|
-
else
|
84
|
-
return Kernel.`("clear")
|
85
|
-
end
|
66
|
+
krn_clear = SYSll::VERIFY.os == :windows ? Kernel.`("cls") : Kernel.`("clear")
|
67
|
+
return krn_clear
|
86
68
|
end
|
87
69
|
|
88
70
|
def self.list_files(flags = nil)
|
89
|
-
|
90
|
-
|
91
|
-
return Kernel.`("dir").split(REGSPLIT)
|
92
|
-
else
|
93
|
-
if flags.nil?
|
94
|
-
return Kernel.`("ls").split(REGSPLIT)
|
95
|
-
else
|
96
|
-
return Kernel.`("ls #{flags}").split(REGSPLIT)
|
97
|
-
end
|
98
|
-
end
|
71
|
+
krn_lf = SYSll::VERIFY.os == :windows ? Kernel.`("dir").split(REGSPLIT) : flags.nil? ? Kernel.`("ls").split(REGSPLIT) : Kernel.`("ls #{flags}").split(REGSPLIT)
|
72
|
+
return krn_lf
|
99
73
|
end
|
100
74
|
|
101
75
|
def self.network_info
|
102
|
-
|
103
|
-
|
104
|
-
return Kernel.`("ipconfig").split(REGSPLIT)
|
105
|
-
else
|
106
|
-
return Kernel.`("ifconfig").split(REGSPLIT)
|
107
|
-
end
|
76
|
+
krn_netinf = SYSll::VERIFY.os == :windows ? Kernel.`("ipconfig").split(REGSPLIT) : Kernel.`("ifconfig").split(REGSPLIT)
|
77
|
+
return krn_netinf
|
108
78
|
end
|
109
79
|
|
110
80
|
def self.process_info
|
111
|
-
|
112
|
-
|
113
|
-
return Kernel.`("tasklist")
|
114
|
-
else
|
115
|
-
return Kernel.`("ps aux").split(REGSPLIT)
|
116
|
-
end
|
81
|
+
krn_process = SYSll::VERIFY.os == :windows ? Kernel.`("tasklist") : Kernel.`("ps aux").split(REGSPLIT)
|
82
|
+
return krn_process
|
117
83
|
end
|
118
84
|
|
119
85
|
def self.kill_process(pid, flag = nil)
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
end
|
127
|
-
else
|
128
|
-
if flags.nil?
|
129
|
-
return Kernel.`("kill #{pid}").split(REGSPLIT)
|
130
|
-
else
|
131
|
-
return Kernel.`("kill #{flag} #{pid}").split(REGSPLIT)
|
132
|
-
end
|
133
|
-
end
|
86
|
+
krn_kill = if SYSll::VERIFY.os == :windows
|
87
|
+
flags.nil? ? Kernel.`("taskill /PID #{pid}").split(REGSPLIT) : Kernel.`("taskill /PID #{pid} #{flag}").split(REGSPLIT)
|
88
|
+
else
|
89
|
+
flags.nil? ? Kernel.`("kill #{pid}").split(REGSPLIT) : Kernel.`("kill #{flag} #{pid}").split(REGSPLIT)
|
90
|
+
end
|
91
|
+
return krn_kill
|
134
92
|
end
|
135
93
|
|
136
94
|
def self.sys(flags = nil)
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
95
|
+
krn_sys = if SYSll::VERIFY.os == :windows
|
96
|
+
Kernel.`("systeminfo")
|
97
|
+
else
|
98
|
+
if flags.nil?
|
99
|
+
Kernel.`("uname").split(REGSPLIT)
|
100
|
+
else
|
101
|
+
uname_delimiters = ["\n", " "]
|
102
|
+
reguname = Regexp.union(uname_delimiters)
|
103
|
+
Kernel.`("uname #{flags}").split(reguname)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
return krn_sys
|
149
107
|
end
|
150
108
|
end
|
151
109
|
end
|
data/lib/sysll.rb
CHANGED
data/locales/en.yml
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
en:
|
2
|
+
sysll:
|
3
|
+
status:
|
4
|
+
clear: "Cleared the screen successfully."
|
5
|
+
list_files: "Listing files in the current directory..."
|
6
|
+
network_info: "Fetching network configuration..."
|
7
|
+
process_info: "Retrieving running processes..."
|
8
|
+
kill_process: "Trying to kill process %{pid}..."
|
9
|
+
sys: "Getting system information..."
|
10
|
+
errors:
|
11
|
+
list_files_failed:
|
12
|
+
code: "SYSLL - E001"
|
13
|
+
message: "Failed to list files. Check permissions or flags."
|
14
|
+
type: "PermissionError"
|
15
|
+
network_info_failed:
|
16
|
+
code: "SYSLL - E002"
|
17
|
+
message: "Could not retrieve network info."
|
18
|
+
type: "NetworkError"
|
19
|
+
process_info_failed:
|
20
|
+
code: "SYSLL - E003"
|
21
|
+
message: "Error retrieving process information."
|
22
|
+
type: "ProcessError"
|
23
|
+
kill_process_failed:
|
24
|
+
code: "SYSLL - E004"
|
25
|
+
message: "Could not kill process %{pid}."
|
26
|
+
type: "ProcessError"
|
27
|
+
sys_failed:
|
28
|
+
code: "SYSLL - E005"
|
29
|
+
message: "Could not retrieve system information."
|
30
|
+
type: "SystemError"
|
31
|
+
clear_failed:
|
32
|
+
code: "SYSLL - E006"
|
33
|
+
message: "Failed to clear the terminal screen."
|
34
|
+
type: "SystemCommandError"
|
35
|
+
unknown_error:
|
36
|
+
code: "SYSLL - E999"
|
37
|
+
message: "An unknown error occurred."
|
38
|
+
type: "UnknownError"
|
data/locales/pt.yml
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
pt:
|
2
|
+
sysll:
|
3
|
+
status:
|
4
|
+
clear: "Tela limpa com sucesso."
|
5
|
+
list_files: "Listando arquivos no diretório atual..."
|
6
|
+
network_info: "Obtendo informações da rede..."
|
7
|
+
process_info: "Recuperando processos em execução..."
|
8
|
+
kill_process: "Tentando encerrar o processo %{pid}..."
|
9
|
+
sys: "Obtendo informações do sistema..."
|
10
|
+
errors:
|
11
|
+
list_files_failed:
|
12
|
+
code: "SYSLL - E001"
|
13
|
+
message: "Falha ao listar os arquivos. Verifique permissões ou flags."
|
14
|
+
type: "ErroDePermissao"
|
15
|
+
network_info_failed:
|
16
|
+
code: "SYSLL - E002"
|
17
|
+
message: "Não foi possível obter informações da rede."
|
18
|
+
type: "ErroDeRede"
|
19
|
+
process_info_failed:
|
20
|
+
code: "SYSLL - E003"
|
21
|
+
message: "Erro ao recuperar informações dos processos."
|
22
|
+
type: "ErroDeProcesso"
|
23
|
+
kill_process_failed:
|
24
|
+
code: "SYSLL - E004"
|
25
|
+
message: "Não foi possível encerrar o processo %{pid}."
|
26
|
+
type: "ErroDeProcesso"
|
27
|
+
sys_failed:
|
28
|
+
code: "SYSLL - E005"
|
29
|
+
message: "Não foi possível obter informações do sistema."
|
30
|
+
type: "ErroDeSistema"
|
31
|
+
clear_failed:
|
32
|
+
code: "SYSLL - E006"
|
33
|
+
message: "Falha ao limpar a tela do terminal."
|
34
|
+
type: "ErroDeComandoDoSistema"
|
35
|
+
unknown_error:
|
36
|
+
code: "SYSLL - E999"
|
37
|
+
message: "Ocorreu um erro desconhecido."
|
38
|
+
type: "ErroDesconhecido"
|
metadata
CHANGED
@@ -1,14 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sysll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mvghasty
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-04-
|
11
|
-
dependencies:
|
10
|
+
date: 2025-04-12 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: i18n
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '1.12'
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '1.12'
|
12
26
|
description: Build your code for multiple platforms easily with the sysll gem
|
13
27
|
email: fasmagoric.dev@gmail.com
|
14
28
|
executables: []
|
@@ -18,6 +32,8 @@ files:
|
|
18
32
|
- lib/cmd.rb
|
19
33
|
- lib/sysll.rb
|
20
34
|
- lib/sysverify.rb
|
35
|
+
- locales/en.yml
|
36
|
+
- locales/pt.yml
|
21
37
|
homepage: https://github.com/mvghasty/SYSll
|
22
38
|
licenses:
|
23
39
|
- MIT
|