subunit 0.5.0 → 0.6.2

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