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 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