cow 0.1.6 → 0.1.7

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: 4a50ede7e2e35c954b46e7780eb7d6e7b2ccec1204ed24f7f2ade0297d1b7936
4
- data.tar.gz: 3173e4a4dd6df09005ac6431a28e0a166b3ac09d51bdb404e669fd2486c1ecc1
3
+ metadata.gz: 9fca82e57cef2adfdcf679a88dae9066aa864f42f6aca51ea53d1827da288276
4
+ data.tar.gz: 637a30eecddd2350dc3a8f3b260dea8462bf6856c742f541e79875aad21547d3
5
5
  SHA512:
6
- metadata.gz: e7f986a86ba283149dae428de3de6501b08809f840a9597f6df430fa9de48a000c43ce92500b693cbc326ac1eec8561b94481188cc859e614c3b4fba2d79ebef
7
- data.tar.gz: 231b646f1b961f136b7a3f9106c71004f25acec9426fd3c1d1edad871fd8c0a1e5ada9c449d0e99b0a0db4e840916928064689a0b0330b25e1777fac5d2c73a9
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.1.0'
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Cow
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
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.6
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: 2021-10-05 00:00:00.000000000 Z
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.1.0
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.1.0
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
- rubygems_version: 3.0.8
98
+ rubyforge_project:
99
+ rubygems_version: 2.7.6
99
100
  signing_key:
100
101
  specification_version: 4
101
102
  summary: Console server Wrapper