subunit 0.5.0 → 0.6.2

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: 6f79f4af50bd21b1fbc2ab5d0f182604abdaccd2d71635a2de7608f0284b30b1
4
- data.tar.gz: b0250717312d90e88426144fb0f5d52777302c84a7557784741bf6b0340d26f2
3
+ metadata.gz: 46d3455f6cae815078d18a8de397a9a1cf925bd34f181aa976a22b2ba5743d03
4
+ data.tar.gz: 933130e619d182c682dde2eb7861b7d319dac05fd60d872587206be3e8ada74b
5
5
  SHA512:
6
- metadata.gz: 4ae5c071276ca33df749097b7f0afbf603fd74073fc13063282d4b436be27464f683dc1c5f29081c9eb204274e68980aeb98a5b53534027e41acf59390966387
7
- data.tar.gz: 186200ad80cefe4fd019e1c975db08b0461bed1405e49d78a77056cb437cc62866f79e078e42fb7844c3a7de8e32730ea6ad624cf972dc3001608b949fee3fd7
6
+ metadata.gz: badb4355119049ad42ed3fa49b1c38e5c2f3c002d53972988b911e074e43760bace58e02d06c8aa793d57dadb6ac73dade62ac4b2b438fd444aa54b7b647549e
7
+ data.tar.gz: '0628dc8e18fb2b9fcc9b55028760d67f286e97789973055d913a32ef769de8d0f035abfa957671c2ab3c0072d6290b88bee04432326d3125820a5cd397539eed'
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -10,12 +10,15 @@ class Subunit
10
10
 
11
11
  @debug = false
12
12
 
13
+ @raw_units = raw_units
14
+
13
15
  if obj.is_a? Array then
14
16
 
15
- a = obj
17
+ a = obj[0..-2]
16
18
  len = raw_units.to_a.length
17
- @to_i = ([0]*(len-1) + a).slice(-(len), len).zip([60, 60, 1])\
19
+ val = ([0]*(len-1) + a).slice(-(len), len).zip(raw_units.values)\
18
20
  .inject(0) {|r,x| r + x.inject(:*) }
21
+ @to_i = val + obj[-1]
19
22
 
20
23
  else
21
24
 
@@ -26,7 +29,59 @@ class Subunit
26
29
  end
27
30
  end
28
31
 
29
- def to_s(omit: [])
32
+ # usage: Subunit.new(units={minutes:60, hours:60}, seconds: 661)\
33
+ # .strfunit("%x") #=> 11m 1s
34
+ #
35
+ # %x e.g. 11m 1s
36
+ # %X e.g. 11 minutes 1 second
37
+ # %c e.g. 00:11:01
38
+ #
39
+ def strfunit(s)
40
+
41
+ s.sub!('%x') do |x|
42
+ to_h.map {|label, val| val.to_s + label[0]}.join(' ')
43
+ end
44
+
45
+ s.sub!('%X') do |x|
46
+
47
+ to_h.map do |label, val|
48
+
49
+ next if val == 0
50
+ label2 = val > 1 ? label.to_s : label.to_s.sub(/s$/,'')
51
+ val.to_s + ' ' + label2
52
+
53
+ end.compact.join(' ')
54
+
55
+ end
56
+
57
+ s.sub!('%c') do |x|
58
+
59
+ a = @raw_units.values.reverse
60
+ a << a[-1]
61
+
62
+ fmt = a.map {|v| "%0" + v.to_s.length.to_s + "d"}.join(":")
63
+ fmt % to_a
64
+ end
65
+
66
+ s
67
+ end
68
+
69
+ def to_s(omit: [], verbose: true)
70
+
71
+ if not verbose then
72
+
73
+ r = self.to_a.reverse.take_while {|x| x > 0}.reverse\
74
+ .map {|x| "%02d" % x}.join(':')
75
+
76
+ if r.length < 2 then
77
+ return '00:00'
78
+ elsif r.length == 2
79
+ return '00:' + r
80
+ else
81
+ return r
82
+ end
83
+
84
+ end
30
85
 
31
86
  h = @to_h
32
87
  omit.each {|x| h.delete x}
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.0
4
+ version: 0.6.2
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-06-11 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
@@ -63,9 +63,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: '0'
65
65
  requirements: []
66
- rubyforge_project:
67
- rubygems_version: 2.7.10
66
+ rubygems_version: 3.0.3
68
67
  signing_key:
69
68
  specification_version: 4
70
- summary: subunit
69
+ summary: Input a raw unit and it returns the denomination.
71
70
  test_files: []
metadata.gz.sig CHANGED
@@ -1 +1,5 @@
1
- Q�r1��*���')�|����X�������#+dzB�:�;YQUI}����\�Cւf]�E%<���Y��T�m�5�~p}!
1
+ ��9Y ���X�~�����Mt�՞c��O$o}��" ܞ��{q����0��K�N]ȽE���;8�_��_ݴ���_��Y!�{�W���΍X9���_ϝFuƁ��6���\\!ďkv�@����r�iG����O^W2`>>'G��ٚ0������Uy�C���=>.y�:�W��?��GJe����<�� ��a�%��k�_p�N�ai*�g����,L��ye��z��-l
2
+ $_�
3
+ �`���0
4
+ ��{��
5
+ y��ζ��ֹ�Ch�߉������Ս3e�q��,c7]��Kq��E�J��M�$�aԽ