tmin 0.1.9 → 0.2.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.
- data/Gemfile.lock +1 -1
- data/lib/tmin/server.rb +59 -2
- data/lib/tmin/version.rb +1 -1
- data/public/bootstrap.css +52 -0
- data/views/layout.haml +5 -0
- data/views/redirect.haml +44 -9
- metadata +5 -5
data/Gemfile.lock
CHANGED
data/lib/tmin/server.rb
CHANGED
@@ -303,14 +303,22 @@ end
|
|
303
303
|
@time = []
|
304
304
|
@time = array_builder(string)
|
305
305
|
|
306
|
-
@
|
306
|
+
@color = @time[6].to_i
|
307
307
|
|
308
|
+
@font_color = font_builder(@color)
|
308
309
|
|
310
|
+
@alert = alert_on(@time[2].to_i)
|
311
|
+
|
312
|
+
@date = @time[4].to_s.insert(6, '20')
|
313
|
+
|
314
|
+
#Array containing the number relating to the image number of default backgorunds.
|
309
315
|
@num = (1..39).to_a
|
310
316
|
|
317
|
+
@expired = date_expired(@time[4])
|
318
|
+
|
319
|
+
@parsed_time = Date.parse(@time[4]).strftime("%FT%T")
|
311
320
|
|
312
321
|
|
313
|
-
|
314
322
|
if @url.nil?
|
315
323
|
status 404
|
316
324
|
"Sorry, that code is unknown."
|
@@ -388,6 +396,55 @@ end
|
|
388
396
|
return ary
|
389
397
|
end
|
390
398
|
|
399
|
+
def font_builder(color)
|
400
|
+
if color == 0
|
401
|
+
return 'black'
|
402
|
+
elsif color == 1
|
403
|
+
return 'dark_gray'
|
404
|
+
elsif color == 2
|
405
|
+
return 'light_gray'
|
406
|
+
elsif color == 3
|
407
|
+
return 'white'
|
408
|
+
elsif color == 4
|
409
|
+
return 'gray'
|
410
|
+
elsif color == 5
|
411
|
+
return 'red'
|
412
|
+
elsif color == 6
|
413
|
+
return 'green'
|
414
|
+
elsif color == 7
|
415
|
+
return 'blue'
|
416
|
+
elsif color == 8
|
417
|
+
return 'cyan'
|
418
|
+
elsif color == 9
|
419
|
+
return 'yellow'
|
420
|
+
elsif color == 10
|
421
|
+
return 'magenta'
|
422
|
+
elsif color == 11
|
423
|
+
return 'orange'
|
424
|
+
elsif color == 12
|
425
|
+
return 'purple'
|
426
|
+
elsif color == 13
|
427
|
+
return 'brown'
|
428
|
+
end
|
429
|
+
end
|
430
|
+
|
431
|
+
def alert_on(alert)
|
432
|
+
|
433
|
+
if alert == 0
|
434
|
+
return 'Yes'
|
435
|
+
else
|
436
|
+
return 'No'
|
437
|
+
end
|
438
|
+
|
439
|
+
end
|
440
|
+
|
441
|
+
|
442
|
+
def date_expired(time)
|
443
|
+
|
444
|
+
expired = DateTime.parse(time) < DateTime.now
|
445
|
+
return expired
|
446
|
+
|
447
|
+
end
|
391
448
|
|
392
449
|
end
|
393
450
|
end
|
data/lib/tmin/version.rb
CHANGED
data/public/bootstrap.css
CHANGED
@@ -47,4 +47,56 @@ h2 {
|
|
47
47
|
|
48
48
|
.white {
|
49
49
|
color: #FFF;
|
50
|
+
}
|
51
|
+
|
52
|
+
.black {
|
53
|
+
color: #000;
|
54
|
+
}
|
55
|
+
|
56
|
+
.dark_gray {
|
57
|
+
color: darkgray;
|
58
|
+
}
|
59
|
+
|
60
|
+
.light_gray {
|
61
|
+
color: lightgray;
|
62
|
+
}
|
63
|
+
|
64
|
+
.gray {
|
65
|
+
color: gray;
|
66
|
+
}
|
67
|
+
|
68
|
+
.red {
|
69
|
+
color: red;
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
.green {
|
74
|
+
color: green;
|
75
|
+
}
|
76
|
+
|
77
|
+
.blue {
|
78
|
+
color: blue;
|
79
|
+
}
|
80
|
+
|
81
|
+
.cyan {
|
82
|
+
color: deepskyblue;
|
83
|
+
|
84
|
+
}
|
85
|
+
|
86
|
+
.yellow {
|
87
|
+
color: yellow;
|
88
|
+
}
|
89
|
+
|
90
|
+
.magenta {
|
91
|
+
color: magenta;
|
92
|
+
}
|
93
|
+
|
94
|
+
|
95
|
+
.orange {
|
96
|
+
color: orange;
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
.purple {
|
101
|
+
color: purple;
|
50
102
|
}
|
data/views/layout.haml
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
20
20
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
21
21
|
})();
|
22
|
+
|
22
23
|
%body
|
23
24
|
|
24
25
|
|
@@ -41,3 +42,7 @@
|
|
41
42
|
.well.spacer
|
42
43
|
= yield
|
43
44
|
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
data/views/redirect.haml
CHANGED
@@ -7,16 +7,30 @@
|
|
7
7
|
|
8
8
|
-#<a id="applink1" href="#{@url.url}">Opening the awesome event now!</a>
|
9
9
|
%h1.text-center
|
10
|
+
<div class="#{@font_color}">
|
10
11
|
#countdown
|
12
|
+
</div>
|
13
|
+
|
11
14
|
%h2.text-center
|
12
|
-
|
15
|
+
|
16
|
+
<div class="#{@font_color}">
|
17
|
+
- if @expired == true
|
18
|
+
Since
|
19
|
+
- else
|
20
|
+
Until
|
21
|
+
</div>
|
13
22
|
%h2.text-center
|
23
|
+
<div class="#{@font_color}">
|
14
24
|
= URI.unescape(@time[8])
|
25
|
+
</div>
|
26
|
+
|
15
27
|
%hr
|
16
28
|
%h3.lead.white
|
17
29
|
%strong Countdown Details:
|
18
|
-
Date: #{@time[4].gsub!('~',' ')}
|
19
|
-
Alert:
|
30
|
+
Date: #{@time[4].gsub!('~',' ')} -
|
31
|
+
Alert Set: #{@alert}
|
32
|
+
%h3.text-center
|
33
|
+
#device
|
20
34
|
|
21
35
|
|
22
36
|
|
@@ -24,23 +38,41 @@
|
|
24
38
|
:javascript
|
25
39
|
|
26
40
|
|
27
|
-
|
28
|
-
var end = new Date('#{@date.insert(6, '20')}');
|
29
|
-
|
30
|
-
|
41
|
+
var end = new Date('#{@date}');
|
31
42
|
var _second = 1000;
|
32
43
|
var _minute = _second * 60;
|
33
44
|
var _hour = _minute * 60;
|
34
45
|
var _day = _hour * 24;
|
35
46
|
var timer;
|
36
47
|
|
48
|
+
|
49
|
+
|
37
50
|
function showRemaining() {
|
38
51
|
var now = new Date();
|
52
|
+
var iOS = /(iPad|iPhone|iPod)/g.test( navigator.userAgent );
|
39
53
|
var distance = end - now;
|
40
54
|
if (distance < 0) {
|
41
55
|
|
42
|
-
|
43
|
-
|
56
|
+
var days = Math.floor(distance / _day);
|
57
|
+
var hours = Math.floor((distance % _day) / _hour);
|
58
|
+
var minutes = Math.floor((distance % _hour) / _minute);
|
59
|
+
var seconds = Math.floor((distance % _minute) / _second);
|
60
|
+
|
61
|
+
var neg_days = Math.abs(days)
|
62
|
+
var neg_hours = Math.abs(hours)
|
63
|
+
var neg_minutes = Math.abs(minutes)
|
64
|
+
var net_seconds = Math.abs(seconds)
|
65
|
+
|
66
|
+
if (iOS == true) {
|
67
|
+
document.getElementById('device').innerHTML = ' <a href="#{@url.url}">Open in Tminus</a> ';
|
68
|
+
}
|
69
|
+
|
70
|
+
document.getElementById('countdown').innerHTML = neg_days + ' Days <br> ';
|
71
|
+
document.getElementById('countdown').innerHTML += neg_hours + ' Hours <br>';
|
72
|
+
document.getElementById('countdown').innerHTML += neg_minutes + ' Minutes <br>';
|
73
|
+
document.getElementById('countdown').innerHTML += neg_seconds + ' Seconds';
|
74
|
+
|
75
|
+
|
44
76
|
|
45
77
|
return;
|
46
78
|
}
|
@@ -54,6 +86,9 @@
|
|
54
86
|
document.getElementById('countdown').innerHTML += minutes + ' Minutes <br>';
|
55
87
|
document.getElementById('countdown').innerHTML += seconds + ' Seconds';
|
56
88
|
|
89
|
+
if (iOS == true) {
|
90
|
+
document.getElementById('device').innerHTML = ' <a href="#{@url.url}">Open in Tminus</a> ';
|
91
|
+
}
|
57
92
|
}
|
58
93
|
|
59
94
|
timer = setInterval(showRemaining, 1000);
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tmin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- drobs
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2014-06-
|
18
|
+
date: 2014-06-15 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|