cow 0.1.6 → 0.1.7
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/README.md +18 -2
- data/cow.gemspec +1 -1
- data/lib/cow/application.rb +39 -0
- data/lib/cow/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fca82e57cef2adfdcf679a88dae9066aa864f42f6aca51ea53d1827da288276
|
4
|
+
data.tar.gz: 637a30eecddd2350dc3a8f3b260dea8462bf6856c742f541e79875aad21547d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1acc5a1cf7bd01f85c1339f52f148bd3f45352dd1dca6193c7aab756f66daa7545092a8a30e305432e6158b46cdaa11b4d3433196fa86fdb1bed737fc0a6f32d
|
7
|
+
data.tar.gz: 96e68f0cf003e4327be7ee7ebc3875d20c6dc8f593c470dce72a585a14b424e80d692f86f6fa6f76d50742b7009193bfbffdaaca10900e8199b0a28f4c329eec
|
data/README.md
CHANGED
@@ -6,8 +6,6 @@ Cow - console server wrapper.
|
|
6
6
|
|
7
7
|
`gem install cow`
|
8
8
|
|
9
|
-
`mkdir /var/cache/cow`
|
10
|
-
|
11
9
|
`sudo cow add [hostname] [type] [community]`
|
12
10
|
|
13
11
|
## Usage
|
@@ -42,3 +40,21 @@ tokyo-core01 (ttyd0)
|
|
42
40
|
|
43
41
|
login:
|
44
42
|
```
|
43
|
+
|
44
|
+
## Pico integration with Zsh
|
45
|
+
|
46
|
+
In .zshrc:
|
47
|
+
```
|
48
|
+
function peco-select-console() {
|
49
|
+
BUFFER=$(cow list | \
|
50
|
+
peco --query "$LBUFFER" | \
|
51
|
+
awk 'BEGIN{FS=" "}{print "cow c "$2}')
|
52
|
+
CURSOR=$#BUFFER
|
53
|
+
zle clear-screen
|
54
|
+
}
|
55
|
+
|
56
|
+
zle -N peco-select-console
|
57
|
+
bindkey '^xc' peco-select-console
|
58
|
+
```
|
59
|
+
|
60
|
+
Press Ctrl-X C then you can select a port with interactive filtering.
|
data/cow.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_development_dependency 'bundler', '~> 2.
|
21
|
+
spec.add_development_dependency 'bundler', '~> 2.2.33'
|
22
22
|
spec.add_development_dependency 'rake', '~> 12.3.3'
|
23
23
|
spec.add_dependency 'snmp'
|
24
24
|
end
|
data/lib/cow/application.rb
CHANGED
@@ -21,6 +21,23 @@ module Cow
|
|
21
21
|
@servers << _server
|
22
22
|
end
|
23
23
|
|
24
|
+
def find_server(_hostname)
|
25
|
+
@servers.each do |server|
|
26
|
+
return server if server.hostname == _hostname
|
27
|
+
end
|
28
|
+
nil
|
29
|
+
end
|
30
|
+
|
31
|
+
def delete_server(_hostname)
|
32
|
+
@servers.each_with_index do |server, idx|
|
33
|
+
if server.hostname == _hostname
|
34
|
+
@servers.delete_at(idx)
|
35
|
+
return true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
false
|
39
|
+
end
|
40
|
+
|
24
41
|
end
|
25
42
|
|
26
43
|
CACHE_FILE = '/var/cache/cow/cow.cache'.freeze
|
@@ -103,6 +120,8 @@ module Cow
|
|
103
120
|
case command
|
104
121
|
when 'add', 'a'
|
105
122
|
cmd_add(option1, option2, option3)
|
123
|
+
when 'delete', 'd'
|
124
|
+
cmd_delete(option1)
|
106
125
|
when 'connect', 'c'
|
107
126
|
cmd_connect(option1)
|
108
127
|
when 'find', 'f'
|
@@ -137,6 +156,23 @@ module Cow
|
|
137
156
|
end if server
|
138
157
|
end
|
139
158
|
|
159
|
+
def cmd_delete(_hostname)
|
160
|
+
raise ArgumentError unless _hostname.class == String
|
161
|
+
|
162
|
+
|
163
|
+
load_cache
|
164
|
+
|
165
|
+
unless @cache.find_server(_hostname)
|
166
|
+
puts "#{_hostname} is not found!!"
|
167
|
+
end
|
168
|
+
|
169
|
+
puts "#{_hostname} will be deleted"
|
170
|
+
|
171
|
+
edit_cache do |cache|
|
172
|
+
cache.delete_server _hostname
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
140
176
|
def cmd_connect(_portname)
|
141
177
|
raise ArgumentError unless _portname.class == String
|
142
178
|
|
@@ -225,6 +261,9 @@ Commands:
|
|
225
261
|
Add new console server.
|
226
262
|
available types: #{Cow::SERVER_TYPES.keys.join(' ')}
|
227
263
|
|
264
|
+
delete [hostname]
|
265
|
+
Delete existing console server.
|
266
|
+
|
228
267
|
connect [portname]
|
229
268
|
Connect to console port.
|
230
269
|
|
data/lib/cow/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuki Shimizu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.2.33
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.2.33
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,7 +95,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
requirements: []
|
98
|
-
|
98
|
+
rubyforge_project:
|
99
|
+
rubygems_version: 2.7.6
|
99
100
|
signing_key:
|
100
101
|
specification_version: 4
|
101
102
|
summary: Console server Wrapper
|