vpsadmin-client 3.0.0.master.20221118.pre.0.99dcc6de → 3.0.0.master.20221118.pre.1.ac358990

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: be8e44144778361fe0bd564030b80f66efcdf734c6b81a1ae13c816c5d6ad853
4
- data.tar.gz: e6e0ed82d681b2c7f980430a4f141e687e867784a9a941ae66a6901ce6b1e1c6
3
+ metadata.gz: 292277d43edb5a378c195afb04a67572bbe462330c27c159cb0a93f21247ed51
4
+ data.tar.gz: ee8cf630f99b4a4249fe4ebbdc2b07d6cbf7805fa0383bc85f52e321235b5953
5
5
  SHA512:
6
- metadata.gz: 9f5ae2ef0e02b51ada7bc284457f3fb9ffadadcc0636a42ef8c82465642d2bd5c616b333f40769ed49d4ce4ac38db7f16a884ccf62e0abc33f9194e72db1930e
7
- data.tar.gz: fb68a389dc4602e2891d0b44d3e03556ca523cb2e647094fbedb1d0a069bdb16fee0508deaa7037ed25c708c7b2483a8b3b3d1a722b65cdc0ed9d14988d412f5
6
+ metadata.gz: 97525de2f02d3f3f65268ee73716cd111c8b46c60488e533686302fd1d1edec3a5f1b909579e1f17565a10951c8ed799f3bccc3346d81a48795ccc62f8b6e076
7
+ data.tar.gz: dcc69a4c5c521ecac83672f2b092d4fc4a39c1b9aa5c8e798dfca6bcac9106c2413907ca1299fd108decdcd006b2380a981891e15bfdca68a00aefc96ce18b5c
@@ -212,7 +212,7 @@ module VpsAdmin::CLI::Commands
212
212
  p = c[:name]
213
213
 
214
214
  attron(A_BOLD) if p == @sort_param
215
- addstr(sprintf(" %#{c[:width]}s", unitize(data.send(p), data.delta)))
215
+ addstr(sprintf(" %#{c[:width]}s", unitize_param(p, data.send(p), data.delta)))
216
216
  attroff(A_BOLD) if p == @sort_param
217
217
  end
218
218
  end
@@ -259,18 +259,18 @@ module VpsAdmin::CLI::Commands
259
259
  ))
260
260
 
261
261
  setpos(lines-3, 0)
262
- addstr(sprintf(fmt, 'In', *fields.map { |f| unitize(stats[:"#{f}_in"], avg_delta) }))
262
+ addstr(sprintf(fmt, 'In', *fields.map { |f| unitize_param(f, stats[:"#{f}_in"], avg_delta) }))
263
263
 
264
264
  setpos(lines-2, 0)
265
- addstr(sprintf(fmt, 'Out', *fields.map { |f| unitize(stats[:"#{f}_out"], avg_delta) }))
265
+ addstr(sprintf(fmt, 'Out', *fields.map { |f| unitize_param(f, stats[:"#{f}_out"], avg_delta) }))
266
266
 
267
267
  setpos(lines-1, 0)
268
268
  attron(A_BOLD)
269
- addstr(sprintf(fmt, 'Total', *fields.map { |f| unitize(stats[:"#{f}_in"] + stats[:"#{f}_out"], avg_delta) }))
269
+ addstr(sprintf(fmt, 'Total', *fields.map { |f| unitize_param(f, stats[:"#{f}_in"] + stats[:"#{f}_out"], avg_delta) }))
270
270
  attroff(A_BOLD)
271
271
  end
272
272
 
273
- def unitize(n, delta)
273
+ def unitize_bytes(n, delta)
274
274
  if @opts[:unit] == :bytes
275
275
  per_s = n / delta.to_f
276
276
  else
@@ -278,7 +278,7 @@ module VpsAdmin::CLI::Commands
278
278
  end
279
279
 
280
280
  bits = 39
281
- units = %i(T G M K)
281
+ units = %w(T G M k)
282
282
 
283
283
  units.each do |u|
284
284
  threshold = 2 << bits
@@ -291,6 +291,31 @@ module VpsAdmin::CLI::Commands
291
291
  per_s.round(2).to_s
292
292
  end
293
293
 
294
+ def unitize_number(n, delta)
295
+ per_s = n / delta.to_f
296
+ threshold = 1_000_000_000_000
297
+ units = %w(T G M k)
298
+
299
+ units.each do |u|
300
+ return "#{(per_s / threshold).round(2)}#{u}" if per_s >= threshold
301
+
302
+ threshold /= 1000
303
+ end
304
+
305
+ per_s.round(2).to_s
306
+ end
307
+
308
+ def unitize_param(param, n, delta)
309
+ case param
310
+ when :bytes, :bytes_in, :bytes_out
311
+ unitize_bytes(n, delta)
312
+ when :packets, :packets_in, :packets_out
313
+ unitize_number(n, delta)
314
+ else
315
+ fail "unknown param to unitize: #{param.inspect}"
316
+ end
317
+ end
318
+
294
319
  def sort_next(n)
295
320
  cur_i = @params.index(@sort_param)
296
321
  next_i = cur_i + n
@@ -1,5 +1,5 @@
1
1
  module VpsAdmin
2
2
  module Client
3
- VERSION = '3.0.0.master.20221118-0.99dcc6de'
3
+ VERSION = '3.0.0.master.20221118-1.ac358990'
4
4
  end
5
5
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'bundler'
22
22
  spec.add_development_dependency 'rake'
23
23
 
24
- spec.add_runtime_dependency 'haveapi-client', '~> 0.15.1'
24
+ spec.add_runtime_dependency 'haveapi-client', '~> 0.16.1'
25
25
  spec.add_runtime_dependency 'json'
26
26
  spec.add_runtime_dependency 'curses'
27
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vpsadmin-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.master.20221118.pre.0.99dcc6de
4
+ version: 3.0.0.master.20221118.pre.1.ac358990
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Skokan
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.15.1
47
+ version: 0.16.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.15.1
54
+ version: 0.16.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: json
57
57
  requirement: !ruby/object:Gem::Requirement