subunit 0.5.2 → 0.7.0

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: d837735626ef70e32baf16141e470857f98e53ab2fd1c30b42f44fab34db16dd
4
- data.tar.gz: ddde1aff01698812b3756d17305ba56962e8f6b536451adc1caa717c13e8bfe2
3
+ metadata.gz: ecc45950417e19ac0a19525e892afae96c9bdfd000e13ecd5638e19cf210a564
4
+ data.tar.gz: 8332af06d795048f2736f31a11c5ffecf59dbe7a8005a2ed7751e9b5b4037725
5
5
  SHA512:
6
- metadata.gz: 20ac3ce0a0080f334d48041e9a0125243d8d218694cdc392e8e8055e2e7d0b3ced9c18d914a577f98f3a23418a73ce4be3b0be14e20d1d119ccb5cce8ad6b90e
7
- data.tar.gz: 5ac471d4c506ab9eef77d782a801437a97c92f9933cc0ac3a41ceef61b9aa8eb84141c2a01fbbf67ba3a4ea18bf8c8c8772e2b2f023b8f0966725a8bf410109d
6
+ metadata.gz: 407ad2ccc1947d1adc2f32c98a606bda8d453be2bc18217b48a09ee9ac6010568db36e54577069188ad4ac319f17cf336ca60d691e524efd55f2c4e8eff92b72
7
+ data.tar.gz: 3360ae777ff80f1f7f81735be7321dea7bc7542c8903467c6427cd4dcbaf168dfc8c01453100fe55db6e385ff7a8717f2f0cf2f3073aaf562e4d148376b83dfb
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -3,6 +3,10 @@
3
3
  # file: subunit.rb
4
4
 
5
5
  class Subunit
6
+
7
+ def self.seconds(val)
8
+ new(units={minutes:60, hours:60}, seconds: val)
9
+ end
6
10
 
7
11
  attr_reader :to_a, :to_h, :to_i
8
12
 
@@ -10,6 +14,8 @@ class Subunit
10
14
 
11
15
  @debug = false
12
16
 
17
+ @raw_units = raw_units
18
+
13
19
  if obj.is_a? Array then
14
20
 
15
21
  a = obj[0..-2]
@@ -27,6 +33,43 @@ class Subunit
27
33
  end
28
34
  end
29
35
 
36
+ # usage: Subunit.new(units={minutes:60, hours:60}, seconds: 661)\
37
+ # .strfunit("%x") #=> 11m 1s
38
+ #
39
+ # %x e.g. 11m 1s
40
+ # %X e.g. 11 minutes 1 second
41
+ # %c e.g. 00:11:01
42
+ #
43
+ def strfunit(s)
44
+
45
+ s.sub!('%x') do |x|
46
+ to_h.map {|label, val| val.to_s + label[0]}.join(' ')
47
+ end
48
+
49
+ s.sub!('%X') do |x|
50
+
51
+ to_h.map do |label, val|
52
+
53
+ next if val == 0
54
+ label2 = val > 1 ? label.to_s : label.to_s.sub(/s$/,'')
55
+ val.to_s + ' ' + label2
56
+
57
+ end.compact.join(' ')
58
+
59
+ end
60
+
61
+ s.sub!('%c') do |x|
62
+
63
+ a = @raw_units.values.reverse
64
+ a << a[-1]
65
+
66
+ fmt = a.map {|v| "%0" + v.to_s.length.to_s + "d"}.join(":")
67
+ fmt % to_a
68
+ end
69
+
70
+ s
71
+ end
72
+
30
73
  def to_s(omit: [], verbose: true)
31
74
 
32
75
  if not verbose then
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subunit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  HowcHg4GymtLLITCF/QtA5tta5SmHAca1POGncsO9QiramFQ9S3Q4O4wcjboVJOp
36
36
  SSxk4InmYoY9Cl2GVQ+d9owo
37
37
  -----END CERTIFICATE-----
38
- date: 2020-07-27 00:00:00.000000000 Z
38
+ date: 2020-09-14 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description:
41
41
  email: james@jamesrobertson.eu
metadata.gz.sig CHANGED
Binary file