forked from RECIA/naglight
-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.rb
69 lines (58 loc) · 1.35 KB
/
utils.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Various utils
def mk_array_to_hash(mk_array)
header = mk_array[0]
mk_array.shift
datas = mk_array
final = []
datas.each do |data|
# each lines
size_fin = data.size
size_cur= 0
hashline = {}
data.each do |indata|
# each columns
hashline[header[size_cur].to_sym] = indata
size_cur+=1
end
final << hashline
end
return final
end
def time_elapsed(first, last)
time_now = last
time_old = first
difference = time_now - time_old
seconds = difference % 60
difference = (difference - seconds) / 60
minutes = difference % 60
difference = (difference - minutes) / 60
hours = difference % 24
difference = (difference - hours) / 24
days = difference % 7
weeks = (difference - days) / 7
return {:weeks => weeks,
:days => days,
:hours => hours,
:minutes => minutes,
:seconds => seconds }
end
def time_elapsed_human(first, last)
time_elap = time_elapsed(first, last)
t_e = ""
if time_elap[:weeks] > 0
t_e = "#{time_elap[:weeks]}w "
end
if time_elap[:days] > 0
t_e << "#{time_elap[:days]}d "
end
if time_elap[:hours] > 0
t_e << "#{time_elap[:hours]}h "
end
if time_elap[:minutes] > 0
t_e << "#{time_elap[:minutes]}m "
end
if time_elap[:seconds] > 0
t_e << "#{time_elap[:seconds]}s"
end
return t_e
end