subunit 0.5.2 → 0.7.0

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