datetime_diff 0.3.4 → 0.3.5

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: 5e33f091943c0a09d9cee04ba429f99b505ec2d1
4
- data.tar.gz: 9d953f216f8594961c3a620e9189ed6086405d83
3
+ metadata.gz: 79cb20de634dfcfe68679a1bb7d1233243903a99
4
+ data.tar.gz: 3d9f607f50770f70a2006d563e3fe141d1884d46
5
5
  SHA512:
6
- metadata.gz: f20e1880f94e95abea5f63225e282b7700af5d6bdc742191d6a2046e586295088e2923879a47b5e2f16d71d679beafc2e7948b3273789b154a5d71febe16e616
7
- data.tar.gz: 0223955b810b84614402151bc4b7017c83d31947470aa7b774cdb9c00257d65f8d245bfda1677cd15577e0f6060687246bf071d0383a7f8a2afb36f73e430fc4
6
+ metadata.gz: 74feb356476abf3727ef5dd873e0ad24d290f91863b763674761c6d9137d979788c4a2186751cdc9e33ee2edc9df34365c0ea0c3dfbba2c551be77ffba6561ad
7
+ data.tar.gz: 5eaa6cbd5ef8cd089536b583da276d1b68000339ddc35d907b2fde3a2b3efdda4648662031d11b51aec9bf67db96d95947f41baf06c9ced8c6216507d5a36fa5
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ v0.3.5
2
+ - add method diff_in_mls
3
+ - ...
1
4
  v0.3.4
2
5
  - fix 60 min to 1 hour
3
6
  v0.3.3
data/lib/datetime_diff.rb CHANGED
@@ -1,8 +1,6 @@
1
- require "datetime_diff/version"
2
-
3
1
  module DateTimeDiff
4
2
 
5
- def self.diff_to_s mls, format=nil
3
+ def self.diff_to_s mls, format=nil, options
6
4
 
7
5
  mls = (mls * 1000).to_i
8
6
  s = m = h = d = 0
@@ -28,25 +26,40 @@ module DateTimeDiff
28
26
  end
29
27
 
30
28
  t = {D: d,
29
+
31
30
  H: h.to_s.rjust(2,"0"),
31
+ h: h.to_s,
32
+
32
33
  M: m.to_s.rjust(2,"0"),
34
+ mm: m.to_s,
35
+
33
36
  S: s.to_s.rjust(2,"0"),
37
+ ss: s.to_s,
38
+
34
39
  m: mls.to_s.rjust(3,"0")}
35
40
 
36
41
  if format
37
42
  r = ""
38
- values = format.scan(/\%\S[\S|\s]{1,3}*?(?!%)/)
43
+ #values = format.scan(/\%\S[\S|\s]{1,3}*?(?!%)/)
44
+ values = format.scan(/\%\w{1,3}/)
45
+
46
+ zero_left = options[:zero_left] || false
47
+
39
48
  for xV in values
40
- if values.index(xV) + 1 == values.size
41
- r += "#{t[xV.gsub("%","").to_sym]}#{format.scan(/(?<=#{xV})[\s|\S]*?$/)[0]}"
49
+ number = t[xV.gsub("%","").to_sym]
50
+ zero_left = false if number.to_i > 0
51
+ unless zero_left && number.to_i == 0
52
+ if values.index(xV) + 1 == values.size
53
+ r += "#{number}#{format.scan(/(?<=#{xV})[\s|\S]*?$/)[0]}"
54
+ else
55
+ r += "#{number}#{format.scan(/(?<=#{xV})[\s|\S]*?(?=\%)/)[0]}"
56
+ end
42
57
  else
43
- r += "#{t[xV.gsub("%","").to_sym]}#{format.scan(/(?<=#{xV})[\s|\S]*?(?=\%)/)[0]}"
58
+ zero_left = true
44
59
  end
45
60
  end
46
61
  r
47
62
  else
48
- r = ""
49
- r += "#{d} #{d > 1 ? "days" : "day"} "
50
63
  r += "#{h} #{h > 1 ? "hours" : "hour"} "
51
64
  r += "#{m} #{m > 1 ? "minutes" : "minute"} "
52
65
  r += "#{s} #{s > 1 ? "seconds" : "second"} "
@@ -55,14 +68,23 @@ module DateTimeDiff
55
68
  r.strip.gsub(/\s{2,}/," ")
56
69
  end
57
70
  end
58
- def diff dt, format=nil
71
+ def diff dt, format=nil, options = {}
72
+ mls = 0
73
+ if self > dt
74
+ mls = self.to_time.to_f - dt.to_time.to_f
75
+ else
76
+ mls = dt.to_time.to_f - self.to_time.to_f
77
+ end
78
+ DateTimeDiff.diff_to_s mls, format, options
79
+ end
80
+ def diff_in_mls dt, format=nil, options = {}
59
81
  mls = 0
60
82
  if self > dt
61
83
  mls = self.to_time.to_f - dt.to_time.to_f
62
84
  else
63
85
  mls = dt.to_time.to_f - self.to_time.to_f
64
86
  end
65
- DateTimeDiff.diff_to_s mls, format
87
+ mls
66
88
  end
67
89
  end
68
90
 
@@ -1,3 +1,3 @@
1
1
  module DateTimeDiff
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datetime_diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - thiago feitosa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-19 00:00:00.000000000 Z
11
+ date: 2017-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler