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

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: be8e44144778361fe0bd564030b80f66efcdf734c6b81a1ae13c816c5d6ad853
4
- data.tar.gz: e6e0ed82d681b2c7f980430a4f141e687e867784a9a941ae66a6901ce6b1e1c6
3
+ metadata.gz: 9014c08e0f38faa0c2ef3ff240d919521ff77609f7c638c3497fdf730d76a2d9
4
+ data.tar.gz: 4639e16cc11b5b4a81ebd787e6dedf15ec6da46177920de95e442ff8bc13ad86
5
5
  SHA512:
6
- metadata.gz: 9f5ae2ef0e02b51ada7bc284457f3fb9ffadadcc0636a42ef8c82465642d2bd5c616b333f40769ed49d4ce4ac38db7f16a884ccf62e0abc33f9194e72db1930e
7
- data.tar.gz: fb68a389dc4602e2891d0b44d3e03556ca523cb2e647094fbedb1d0a069bdb16fee0508deaa7037ed25c708c7b2483a8b3b3d1a722b65cdc0ed9d14988d412f5
6
+ metadata.gz: 63cec139647a45f1b78e31189634c3f876d5531efd3abb9ab535146cb2d34d3e13cb27f9d9a1cdf0fe8c7031cd4bee87774f1d1f1387fa349f21dce5d1a87792
7
+ data.tar.gz: 5431b10cbef22f09b69e7a4968bf3b0959dae30df08e2e3f24363ca5513931bec674b98fd203a77b326abffe4f87e4377638473031db122fef50d86fa0ad4e40
@@ -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.202211181-0.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.202211181.pre.0.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