timefly 0.0.1 → 0.1.0
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 +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
|