timefly 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/timefly.rb +83 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fc9e01f42843c1b0b98bb6dca9f7ffbc63c3398
|
4
|
+
data.tar.gz: 3ef046d0ca42a3377bd0b04762a3f7e06f0f442e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d4180a780c3e7c2ff342350de56a3e9aa4a7c6b851fb13cceb2410cbd9f0ec3288712d4e69be783aa325f6cb3a2c1a50463633887abb4dda7be2663b86838e5
|
7
|
+
data.tar.gz: 20d59e84b78b2244170fab019ede757f1d8b20349a0cfc0b3ee3e187c32d8240b2f43387214ff20e7fcfee18503cba502a6b5c4c442dcf2c1cb0d78c4a6fbc71
|
data/lib/timefly.rb
CHANGED
@@ -34,6 +34,27 @@ class Timefly
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
# returns the time elapsed in a readable format
|
38
|
+
#
|
39
|
+
# Example:
|
40
|
+
# >> Timefly.new(origin_time).time_elapsed
|
41
|
+
# => '4 hours ago'
|
42
|
+
def elapsed_time
|
43
|
+
if time_elapsed_in_seconds?
|
44
|
+
elapsed_time_in_seconds
|
45
|
+
elsif time_elapsed_in_minutes?
|
46
|
+
elapsed_time_in_minutes
|
47
|
+
elsif time_elapsed_in_hours?
|
48
|
+
elapsed_time_in_hours
|
49
|
+
elsif time_elapsed_in_days?
|
50
|
+
elapsed_time_in_days
|
51
|
+
elsif time_elapsed_in_months?
|
52
|
+
elapsed_time_in_months
|
53
|
+
else
|
54
|
+
elapsed_time_in_years
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
37
58
|
private
|
38
59
|
|
39
60
|
# This method tries to convert the origin_time to Time
|
@@ -91,4 +112,66 @@ class Timefly
|
|
91
112
|
now_years - origin_time_years
|
92
113
|
end
|
93
114
|
end
|
115
|
+
|
116
|
+
# START time_elapsed helper methods --------------------------------
|
117
|
+
|
118
|
+
def time_diff_in_secs
|
119
|
+
@time_diff_in_secs ||= (Time.now - origin_time).to_i.abs
|
120
|
+
end
|
121
|
+
|
122
|
+
def time_elapsed_in_seconds?
|
123
|
+
time_diff_in_secs < 60
|
124
|
+
end
|
125
|
+
|
126
|
+
def time_elapsed_in_minutes?
|
127
|
+
(time_diff_in_secs / 60) < 60
|
128
|
+
end
|
129
|
+
|
130
|
+
def time_elapsed_in_hours?
|
131
|
+
(time_diff_in_secs / (60 * 60)) < 24
|
132
|
+
end
|
133
|
+
|
134
|
+
def time_elapsed_in_days?
|
135
|
+
(time_diff_in_secs / (60 * 60 * 24)) < 30
|
136
|
+
end
|
137
|
+
|
138
|
+
def time_elapsed_in_months?
|
139
|
+
(time_diff_in_secs / (60 * 60 * 24 * 30)) < 12
|
140
|
+
end
|
141
|
+
|
142
|
+
def elapsed_time_in_seconds
|
143
|
+
'a few seconds ago'
|
144
|
+
end
|
145
|
+
|
146
|
+
def elapsed_time_in_minutes
|
147
|
+
time_diff = time_diff_in_secs / 60
|
148
|
+
elapsed_time_in_unit(time_diff, 'minute')
|
149
|
+
end
|
150
|
+
|
151
|
+
def elapsed_time_in_hours
|
152
|
+
time_diff = time_diff_in_secs / (60 * 60)
|
153
|
+
elapsed_time_in_unit(time_diff, 'hour')
|
154
|
+
end
|
155
|
+
|
156
|
+
def elapsed_time_in_days
|
157
|
+
time_diff = time_diff_in_secs / (60 * 60 * 24)
|
158
|
+
elapsed_time_in_unit(time_diff, 'day')
|
159
|
+
end
|
160
|
+
|
161
|
+
def elapsed_time_in_months
|
162
|
+
time_diff = time_diff_in_secs / (60 * 60 * 24 * 30)
|
163
|
+
elapsed_time_in_unit(time_diff, 'month')
|
164
|
+
end
|
165
|
+
|
166
|
+
def elapsed_time_in_years
|
167
|
+
time_diff = time_diff_in_secs / (60 * 60 * 24 * 30 * 12)
|
168
|
+
elapsed_time_in_unit(time_diff, 'year')
|
169
|
+
end
|
170
|
+
|
171
|
+
def elapsed_time_in_unit(time_diff, unit)
|
172
|
+
unit += 's' if time_diff > 1
|
173
|
+
"#{time_diff} #{unit} ago"
|
174
|
+
end
|
175
|
+
|
176
|
+
# END time_elapsed helper methods --------------------------------
|
94
177
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timefly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gaurav Singha Roy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|