datetime_diff 0.3.5 → 0.3.6

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