datetime_diff 0.3.5 → 0.3.6

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
  SHA1:
3
- metadata.gz: 79cb20de634dfcfe68679a1bb7d1233243903a99
4
- data.tar.gz: 3d9f607f50770f70a2006d563e3fe141d1884d46
3
+ metadata.gz: e90c28f83a23dda05a4dd059242ca70674a15ae8
4
+ data.tar.gz: 3a8f087c6c03359d38b4a57473888d4497e98aa3
5
5
  SHA512:
6
- metadata.gz: 74feb356476abf3727ef5dd873e0ad24d290f91863b763674761c6d9137d979788c4a2186751cdc9e33ee2edc9df34365c0ea0c3dfbba2c551be77ffba6561ad
7
- data.tar.gz: 5eaa6cbd5ef8cd089536b583da276d1b68000339ddc35d907b2fde3a2b3efdda4648662031d11b51aec9bf67db96d95947f41baf06c9ced8c6216507d5a36fa5
6
+ metadata.gz: 7ec5607e888b67d92290d922cd74c7f711d2ad92e2a8f454557508bad9fcb5a4a7b72cdd830c1bd6042c2fa53b378044b6b29acf9a407a663bdf0a5d3c7c0f49
7
+ data.tar.gz: 1323e568e6da511f2d396cf12c21d66b34c78d18d96b71d7e474761cdef99d4713c614f3dc5d0e5e6c0ad52c824d7392f542e6b76e7c53ab465598b67fb9ab95
@@ -1,3 +1,5 @@
1
+ require "datetime_diff/version"
2
+
1
3
  module DateTimeDiff
2
4
 
3
5
  def self.diff_to_s mls, format=nil, options
@@ -43,16 +45,31 @@ module DateTimeDiff
43
45
  #values = format.scan(/\%\S[\S|\s]{1,3}*?(?!%)/)
44
46
  values = format.scan(/\%\w{1,3}/)
45
47
 
46
- zero_left = options[:zero_left] || false
48
+ zero_left = !options[:zero_left] || false
47
49
 
48
50
  for xV in values
49
- number = t[xV.gsub("%","").to_sym]
50
- zero_left = false if number.to_i > 0
51
- unless zero_left && number.to_i == 0
51
+ number = t[xV.gsub("%","").to_sym].to_i
52
+ zero_left = false if number > 0
53
+ unless zero_left && number == 0
52
54
  if values.index(xV) + 1 == values.size
53
- r += "#{number}#{format.scan(/(?<=#{xV})[\s|\S]*?$/)[0]}"
55
+ x = format.scan(/(?<=#{xV})[\s|\S]*?$/)[0]
56
+ else
57
+ x = "#{format.scan(/(?<=#{xV})[\s|\S]*?(?=\%)/)[0]}"
58
+ end
59
+ if x.strip[0] == "[" && x.strip[-1] == "]"
60
+ values_ = x.gsub(/\[|\]/, '').split(',')
61
+ while values_.size < 3
62
+ values_.unshift nil
63
+ end
64
+ if number == 0 && values_[0]
65
+ r += "#{number}#{values_[0]}"
66
+ elsif number == 1 && values_[1]
67
+ r += "#{number}#{values_[1]}"
68
+ elsif number > 1 && values_[2]
69
+ r += "#{number}#{values_[2]}"
70
+ end
54
71
  else
55
- r += "#{number}#{format.scan(/(?<=#{xV})[\s|\S]*?(?=\%)/)[0]}"
72
+ r += "#{number}#{x}"
56
73
  end
57
74
  else
58
75
  zero_left = true
@@ -1,3 +1,3 @@
1
1
  module DateTimeDiff
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datetime_diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - thiago feitosa