wiser_date 0.1.9 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.rdoc +38 -28
- data/lib/wiser_date/view_helpers.rb +62 -12
- data/vendor/assets/javascripts/jquery.wiser_date.js +43 -26
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YTA2OTgwZTg2ZDU0OWU0OGI0ZjBhNzNkMGFmMmYzZjdkYWZmN2FjYw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDBlNGI2MzQ3ODg4YmYwMjczYjA1NDRkYTYxMmJlN2VmMjNmMzdhMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2ZlZTgzZDY3Mjc0OGIxOTRmNjI4OWMzMTFlYzgyMmM1MDc0MWM2M2MzZWY1
|
10
|
+
ZmE5NTJlM2NiM2ZlMDY0MDExODE3Y2Y3ZTE0ZDY0NzkxMWY0NzAyMDBmMWI2
|
11
|
+
MmUwMWIyYTg5NjRiYzFjZmQyOTgwOGM1NzM2MDYwMjhiODk2MmY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MWY0YzIzMWExNTczMzVmN2M0MTYzZDVlMDhiNTMzZmQ4ZTkwNjQ5YjdiNTdl
|
14
|
+
NTI5NjM3OWIxNWZmYWI4MmZkMDM2MDQ2YjhkMDM3ODMxZDA2ODg0NzdkMDQz
|
15
|
+
YjM1YmY3ODhkOTlhNWRjODRjZTk4NTc1OThjNzUzN2JhODMwYTI=
|
data/README.rdoc
CHANGED
@@ -1,11 +1,6 @@
|
|
1
1
|
= Wiser Date for Rails
|
2
2
|
|
3
|
-
WiserDate is a date formatting plugin written by Kenneth John Balgos (https://github.com/kennethjohnbalgos). Wiser Date features dynamic presentation of feed timestamps.
|
4
|
-
|
5
|
-
|
6
|
-
== Installing Gem
|
7
|
-
|
8
|
-
gem "wiser_date"
|
3
|
+
WiserDate is a date formatting plugin written by Kenneth John Balgos (https://github.com/kennethjohnbalgos). Wiser Date features dynamic presentation of feed timestamps. The plugin now supports real-time and dynamic date displays.
|
9
4
|
|
10
5
|
|
11
6
|
== Dependency
|
@@ -13,7 +8,11 @@ WiserDate is a date formatting plugin written by Kenneth John Balgos (https://gi
|
|
13
8
|
Rails >=3.1 and jQuery >=1.7 to make the real-time feature work.
|
14
9
|
|
15
10
|
|
16
|
-
==
|
11
|
+
== Installation
|
12
|
+
|
13
|
+
Install the gem.
|
14
|
+
|
15
|
+
gem "wiser_date"
|
17
16
|
|
18
17
|
Require jquery.wiser_date in your app/assets/application.js file.
|
19
18
|
|
@@ -27,9 +26,10 @@ Use the wiser_date function in your views.
|
|
27
26
|
<%= wiser_date @user.last_login_at %>
|
28
27
|
# Sample display within few seconds: just now
|
29
28
|
# Sample display within few minutes: about 30 minutes ago
|
30
|
-
# Sample display within the day: about
|
29
|
+
# Sample display within the day: about 3 hours ago
|
30
|
+
# Sample display later within the day: today at 12:21pm
|
31
31
|
# Sample display after the day: yesterday 12:21pm
|
32
|
-
# Sample display after 2 days:
|
32
|
+
# Sample display after 2 days: September 10, 2013 12:21pm
|
33
33
|
|
34
34
|
@user.last_login_at can be any timestamp you want to display.
|
35
35
|
|
@@ -40,12 +40,21 @@ Assume that the value is "Mon, 10 Sept 2012 12:21:16 UTC +00:00".
|
|
40
40
|
|
41
41
|
You can customize the behavior of the date display by using the following options:
|
42
42
|
|
43
|
+
* *real_time* - toggles the real-time updating of displayed dates [default: true]
|
44
|
+
|
45
|
+
<%= wiser_date @user.last_login_at, :real_time => false %>
|
46
|
+
|
47
|
+
* *interval* - custom real-time update interval in seconds [default: 20]
|
48
|
+
|
49
|
+
<%= wiser_date @user.last_login_at, :interval => 60 %>
|
50
|
+
|
43
51
|
* *date_format* - overrides the default date format [default: "%b %d, %Y"]
|
44
52
|
|
45
53
|
<%= wiser_date @user.last_login_at, :date_format => "%Y-%m-%d" %>
|
46
54
|
# Sample display within few seconds: just now
|
47
55
|
# Sample display within few minutes: about 30 minutes ago
|
48
|
-
# Sample display within the day: about
|
56
|
+
# Sample display within the day: about 3 hours ago
|
57
|
+
# Sample display later within the day: today at 12:21pm
|
49
58
|
# Sample display after the day: yesterday 12:21pm
|
50
59
|
# Sample display after 2 days: 2012-09-10 12:21pm
|
51
60
|
|
@@ -54,58 +63,59 @@ You can customize the behavior of the date display by using the following option
|
|
54
63
|
<%= wiser_date @user.last_login_at, :time_format => "%H:%M:%S" %>
|
55
64
|
# Sample display within few seconds: just now
|
56
65
|
# Sample display within few minutes: about 30 minutes ago
|
57
|
-
# Sample display within the day: about
|
66
|
+
# Sample display within the day: about 3 hours ago
|
67
|
+
# Sample display later within the day: today at 12:21:16
|
58
68
|
# Sample display after the day: yesterday 12:21:16
|
59
|
-
# Sample display after 2 days:
|
69
|
+
# Sample display after 2 days: September 10, 2013 12:21:16
|
60
70
|
|
61
71
|
* *humanize* - converts date to more readable string [default: true]
|
62
72
|
|
63
73
|
<%= wiser_date @user.last_login_at, :humanize => false %>
|
64
|
-
# Sample display within few seconds:
|
65
|
-
# Sample display within few minutes:
|
66
|
-
# Sample display within the day:
|
67
|
-
# Sample display
|
68
|
-
# Sample display after
|
74
|
+
# Sample display within few seconds: September 10, 2013 12:21pm
|
75
|
+
# Sample display within few minutes: September 10, 2013 12:21pm
|
76
|
+
# Sample display within the day: September 10, 2013 12:21pm
|
77
|
+
# Sample display later within the day: September 10, 2013 12:21pm
|
78
|
+
# Sample display after the day: September 10, 2013 12:21pm
|
79
|
+
# Sample display after 2 days: September 10, 2013 12:21pm
|
69
80
|
|
70
81
|
* *time_first* - displays time first instead of date [default: false]
|
71
82
|
|
72
83
|
<%= wiser_date @user.last_login_at, :time_first => true %>
|
73
84
|
# Sample display within few seconds: just now
|
74
85
|
# Sample display within few minutes: about 30 minutes ago
|
75
|
-
# Sample display within the day: about
|
86
|
+
# Sample display within the day: about 3 hours ago
|
87
|
+
# Sample display later within the day: 12:21pm today
|
76
88
|
# Sample display after the day: 12:21pm yesterday
|
77
|
-
# Sample display after 2 days: 12:21pm
|
89
|
+
# Sample display after 2 days: 12:21pm September 10, 2013
|
78
90
|
|
79
91
|
* *hide_same_year* - will not display the year if the it is the same with the present year [default: false]
|
80
92
|
|
81
93
|
<%= wiser_date @user.last_login_at, :hide_same_year => true %>
|
82
94
|
# Sample display within few seconds: just now
|
83
95
|
# Sample display within few minutes: about 30 minutes ago
|
84
|
-
# Sample display within the day: about
|
96
|
+
# Sample display within the day: about 3 hours ago
|
97
|
+
# Sample display later within the day: today at 12:21pm
|
85
98
|
# Sample display after the day: yesterday 12:21pm
|
86
|
-
# Sample display after 2 days:
|
99
|
+
# Sample display after 2 days: September 10, 12:21pm
|
87
100
|
|
88
101
|
* *capitalize* - capitalizes the first letter of the date displayed [default: true]
|
89
102
|
|
90
103
|
<%= wiser_date @user.last_login_at, :capitalize => true %>
|
91
104
|
# Sample display within few seconds: Just now
|
92
105
|
# Sample display within few minutes: About 30 minutes ago
|
93
|
-
# Sample display within the day:
|
106
|
+
# Sample display within the day: about 3 hours ago
|
107
|
+
# Sample display later within the day: Today at 12:21pm
|
94
108
|
# Sample display after the day: Yesterday 12:21pm
|
95
|
-
# Sample display after 2 days:
|
109
|
+
# Sample display after 2 days: September 10, 12:21pm
|
96
110
|
|
97
111
|
* *custom_class* - adds custom classes to the containter span of the date [default: nil]
|
98
112
|
|
99
113
|
<%= wiser_date @user.last_login_at, :custom_class => "date_tooltip" %>
|
100
114
|
|
101
|
-
* *time_now* - accepts complete timestamp as the basis of time distances [default:
|
115
|
+
* *time_now* - accepts complete timestamp as the basis of time distances [default: server_time]
|
102
116
|
|
103
117
|
<%= wiser_date @user.last_login_at, :time_now => "2012-09-10 12:21:16 +0000" %>
|
104
118
|
|
105
119
|
|
106
|
-
== Thanks
|
107
|
-
Thanks to me for writing an awesome real-time date display plugin :p
|
108
|
-
|
109
|
-
|
110
120
|
== Support
|
111
121
|
Open an issue in https://github.com/kennethjohnbalgos/wiser_date if you need further support or want to report a bug.
|
@@ -1,25 +1,61 @@
|
|
1
1
|
require 'date'
|
2
2
|
|
3
3
|
module WiserDate
|
4
|
+
|
4
5
|
module ViewHelpers
|
6
|
+
|
5
7
|
include ActionView::Helpers::JavaScriptHelper
|
6
8
|
include ActionView::Helpers::TagHelper
|
7
9
|
include ActionView::Helpers::DateHelper
|
8
10
|
include ActionView::Context
|
11
|
+
|
12
|
+
def wiser_date_global(options = {})
|
13
|
+
timezone = options.has_key?(:timezone) ? options[:timezone] : ""
|
14
|
+
interval = options.has_key?(:interval) ? options[:interval] : ""
|
15
|
+
time_now = options.has_key?(:time_now) ? options[:time_now] : ""
|
16
|
+
custom_class = options.has_key?(:custom_class) ? options[:custom_class] : ""
|
17
|
+
|
18
|
+
cookies[:wiser_date_timezone] = timezone
|
19
|
+
cookies[:wiser_date_interval] = interval
|
20
|
+
cookies[:wiser_date_time_now] = time_now
|
21
|
+
cookies[:wiser_date_custom_class] = custom_class
|
22
|
+
end
|
9
23
|
|
10
24
|
def wiser_date(timestamp, options = {})
|
11
25
|
# Options
|
12
26
|
date_format = options.has_key?(:date_format) ? options[:date_format] : "%B %d, %Y"
|
13
27
|
time_format = options.has_key?(:time_format) ? options[:time_format] : "%l:%M%P"
|
28
|
+
title = options.has_key?(:title) ? options[:title] : ""
|
14
29
|
humanize = options.has_key?(:humanize) ? options[:humanize] : true
|
15
30
|
time_first = options.has_key?(:time_first) ? options[:time_first] : false
|
16
31
|
hide_same_year = options.has_key?(:hide_same_year) ? options[:hide_same_year] : false
|
32
|
+
|
17
33
|
capitalize = options.has_key?(:capitalize) ? options[:capitalize] : true
|
18
|
-
custom_class = options.has_key?(:custom_class) ? options[:custom_class] : nil
|
19
|
-
time_now = options.has_key?(:time_now) ? options[:time_now].to_datetime : Time.now
|
20
34
|
real_time = options.has_key?(:real_time) ? options[:real_time] : true
|
21
|
-
|
35
|
+
|
36
|
+
if cookies[:wiser_date_custom_class].present? && !cookies[:wiser_date_custom_class].blank?
|
37
|
+
custom_class = cookies[:wiser_date_custom_class]
|
38
|
+
else
|
39
|
+
custom_class = options.has_key?(:custom_class) ? options[:custom_class] : nil
|
40
|
+
end
|
41
|
+
|
42
|
+
if cookies[:wiser_date_time_now].present? && !cookies[:wiser_date_time_now].blank?
|
43
|
+
time_now = cookies[:wiser_date_time_now]
|
44
|
+
else
|
45
|
+
time_now = options.has_key?(:time_now) ? options[:time_now].to_datetime : Time.now
|
46
|
+
end
|
47
|
+
|
48
|
+
if cookies[:wiser_date_interval].present? && !cookies[:wiser_date_interval].blank?
|
49
|
+
interval = cookies[:wiser_date_interval]
|
50
|
+
else
|
51
|
+
interval = options.has_key?(:interval) ? options[:interval] : 20
|
52
|
+
end
|
22
53
|
|
54
|
+
if cookies[:wiser_date_timezone].present? && !cookies[:wiser_date_timezone].blank?
|
55
|
+
time_now = time_now.to_datetime.in_time_zone(ActiveSupport::TimeZone[cookies[:wiser_date_timezone]])
|
56
|
+
timestamp = timestamp.to_datetime.in_time_zone(ActiveSupport::TimeZone[cookies[:wiser_date_timezone]])
|
57
|
+
end
|
58
|
+
|
23
59
|
# Formats
|
24
60
|
flat_format = "%Y%m%d%H%M%S"
|
25
61
|
plain_format = "%Y-%m-%d %H:%M:%S"
|
@@ -29,6 +65,11 @@ module WiserDate
|
|
29
65
|
custom_timestamp = timestamp.strftime(custom_format)
|
30
66
|
plain_timestamp = timestamp.strftime(plain_format)
|
31
67
|
|
68
|
+
# Default Title
|
69
|
+
if title == ""
|
70
|
+
title = custom_timestamp
|
71
|
+
end
|
72
|
+
|
32
73
|
# Humanize Display
|
33
74
|
if humanize
|
34
75
|
time_diff_in_seconds = (time_now - timestamp.to_time).ceil
|
@@ -36,32 +77,39 @@ module WiserDate
|
|
36
77
|
time_diff_in_days = (time_diff_in_seconds / (60*60*24))
|
37
78
|
if time_diff_in_seconds < 60 && time_diff_in_seconds >= 0
|
38
79
|
custom_timestamp = "just now"
|
80
|
+
custom_timestamp = "today" if time_format == ""
|
39
81
|
elsif time_now.to_date - 1.day == timestamp.to_date
|
40
82
|
date_value = "yesterday"
|
41
83
|
time_value = timestamp.strftime(time_format)
|
42
84
|
custom_timestamp = time_first ? "#{time_value} #{date_value}" : "#{date_value} at #{time_value}"
|
85
|
+
custom_timestamp = date_value if time_format == ""
|
43
86
|
elsif time_diff_in_days < 0
|
44
87
|
if time_diff_in_days > -2
|
45
88
|
date_value = "tomorrow"
|
46
89
|
time_value = timestamp.strftime(time_format)
|
47
90
|
custom_timestamp = time_first ? "#{time_value} #{date_value}" : "#{date_value} at #{time_value}"
|
91
|
+
custom_timestamp = date_value if time_format == ""
|
48
92
|
elsif time_diff_in_days > -7
|
49
93
|
date_value = "on " + timestamp.strftime('%A')
|
50
94
|
time_value = timestamp.strftime(time_format)
|
51
95
|
custom_timestamp = time_first ? "#{time_value} #{date_value}" : "#{date_value} at #{time_value}"
|
96
|
+
custom_timestamp = date_value if time_format == ""
|
52
97
|
end
|
53
98
|
elsif time_diff_in_days < 1
|
54
99
|
if time_now.to_date == timestamp.to_date && time_diff_in_hours >= 8
|
55
100
|
date_value = "today"
|
56
101
|
time_value = timestamp.strftime(time_format)
|
57
102
|
custom_timestamp = time_first ? "#{time_value} #{date_value}" : "#{date_value} at #{time_value}"
|
103
|
+
custom_timestamp = date_value if time_format == ""
|
58
104
|
else
|
59
|
-
custom_timestamp = "#{distance_of_time_in_words(
|
105
|
+
custom_timestamp = "#{distance_of_time_in_words(time_now, timestamp.to_time)} ago"
|
106
|
+
custom_timestamp = "today" if time_format == ""
|
60
107
|
end
|
61
108
|
elsif time_diff_in_days < 7
|
62
109
|
date_value = "last " + timestamp.strftime('%A')
|
63
110
|
time_value = timestamp.strftime(time_format)
|
64
111
|
custom_timestamp = time_first ? "#{time_value} #{date_value}" : "#{date_value} at #{time_value}"
|
112
|
+
custom_timestamp = date_value if time_format == ""
|
65
113
|
end
|
66
114
|
end
|
67
115
|
|
@@ -81,26 +129,28 @@ module WiserDate
|
|
81
129
|
classes << "humanize" if humanize
|
82
130
|
classes << "capitalize" if capitalize
|
83
131
|
classes << "real_time" if real_time
|
132
|
+
classes << "on" if real_time
|
133
|
+
classes << "-#{@timezone}-"
|
84
134
|
classes = classes.join(' ')
|
85
|
-
|
135
|
+
|
86
136
|
uniq_id = Digest::SHA1.hexdigest([Time.now, rand].join)
|
87
137
|
html = content_tag(:span, custom_timestamp,
|
88
138
|
"id" => uniq_id,
|
89
139
|
"class" => classes,
|
90
140
|
"data-plain-timestamp" => plain_timestamp,
|
91
141
|
"data-date-format" => date_format,
|
92
|
-
"data-time-format" => time_format
|
142
|
+
"data-time-format" => time_format,
|
143
|
+
"title" => title
|
93
144
|
)
|
94
145
|
|
146
|
+
formatted_time_now = time_now.strftime(plain_format)
|
95
147
|
meta_vars = []
|
96
|
-
meta_vars << "data-
|
97
|
-
meta_vars << "data-
|
98
|
-
meta_vars << "data-
|
99
|
-
meta_vars << "data-server-datetime=\""+time_now.strftime(plain_format)+"\""
|
100
|
-
meta_vars << "data-interval=\""+interval.to_s+"\""
|
148
|
+
meta_vars << "data-custom-format=\"" + custom_format + "\""
|
149
|
+
meta_vars << "data-server-datetime=\"" + formatted_time_now + "\""
|
150
|
+
meta_vars << "data-interval=\"" + interval.to_s + "\""
|
101
151
|
meta_vars << "id=\"wiser_date\""
|
102
152
|
|
103
|
-
html += javascript_tag("
|
153
|
+
html += javascript_tag("make_it_wiser_date('#" + uniq_id + "', '" + meta_vars.join(' ') + "');")
|
104
154
|
html.html_safe
|
105
155
|
end
|
106
156
|
end
|
@@ -1,27 +1,23 @@
|
|
1
|
+
function make_it_wiser_date(id, meta_vars) {
|
2
|
+
jQuery(document).ready(function(){
|
3
|
+
if(jQuery('body meta#wiser_date').size() == 0){
|
4
|
+
jQuery('body').prepend("<meta " + meta_vars + " />")
|
5
|
+
};
|
6
|
+
updateWiserDate(id);
|
7
|
+
})
|
8
|
+
}
|
9
|
+
|
1
10
|
function updateWiserDate(id) {
|
2
|
-
if(
|
3
|
-
update_interval = parseInt(
|
11
|
+
if(jQuery('meta#wiser_date').attr('data-real-time-started') != "true"){
|
12
|
+
update_interval = parseInt(jQuery('meta#wiser_date').attr('data-interval')) * 1000;
|
4
13
|
setInterval(function() {
|
5
14
|
update_timer(update_interval)
|
6
|
-
|
7
|
-
|
8
|
-
if($(val).size() > 0){
|
9
|
-
updateDate($(val));
|
10
|
-
}else{
|
11
|
-
excludeElement($(val));
|
12
|
-
}
|
15
|
+
jQuery('.wiser_date.on').each(function(){
|
16
|
+
updateDate(jQuery(this));
|
13
17
|
})
|
14
18
|
},update_interval);
|
15
19
|
}
|
16
|
-
|
17
|
-
}
|
18
|
-
|
19
|
-
function excludeElement(el){
|
20
|
-
el_id = '#'+$(el).attr('id')+'.real_time'
|
21
|
-
selector = $('meta#wiser_date').attr('data-value')
|
22
|
-
selector = selector.replace(el_id, "")
|
23
|
-
selector = selector.split(', ').filter(function(v){return v!==''}).join(', ')
|
24
|
-
$('meta#wiser_date').attr('data-value',selector)
|
20
|
+
jQuery('meta#wiser_date').attr('data-real-time-started','true');
|
25
21
|
}
|
26
22
|
|
27
23
|
function updateDate(el){
|
@@ -38,7 +34,7 @@ function prettyDate(element){
|
|
38
34
|
humanize = element.hasClass('humanize')
|
39
35
|
time_first = element.hasClass('time_first')
|
40
36
|
|
41
|
-
server_datetime =
|
37
|
+
server_datetime = jQuery('meta#wiser_date').attr('data-server-datetime')
|
42
38
|
var time_now = new Date((server_datetime || "").replace(/-/g,"/").replace(/[TZ]/g," "));
|
43
39
|
var timestamp = new Date((datetime || "").replace(/-/g,"/").replace(/[TZ]/g," "));
|
44
40
|
var time_diff_in_seconds = ((time_now.getTime() - timestamp.getTime()) / 1000);
|
@@ -63,6 +59,9 @@ function prettyDate(element){
|
|
63
59
|
}else if(humanize){
|
64
60
|
if(time_diff_in_seconds < 60 && time_diff_in_seconds >= 0){
|
65
61
|
custom_timestamp = "just now"
|
62
|
+
if(time_format == ""){
|
63
|
+
custom_timestamp = "today"
|
64
|
+
}
|
66
65
|
}else if(custom_format(date_yesterday, plain_date_format) == custom_format(timestamp, plain_date_format)){
|
67
66
|
date_value = "yesterday"
|
68
67
|
time_value = custom_format(timestamp, time_format)
|
@@ -71,6 +70,9 @@ function prettyDate(element){
|
|
71
70
|
}else{
|
72
71
|
custom_timestamp = date_value + " at " + time_value;
|
73
72
|
}
|
73
|
+
if(time_format == ""){
|
74
|
+
custom_timestamp = date_value
|
75
|
+
}
|
74
76
|
}else if(time_diff_in_days < 0){
|
75
77
|
if(time_diff_in_days > -2){
|
76
78
|
date_value = "tomorrow"
|
@@ -79,6 +81,9 @@ function prettyDate(element){
|
|
79
81
|
custom_timestamp = time_value + " " + date_value;
|
80
82
|
}else{
|
81
83
|
custom_timestamp = date_value + " at " + time_value;
|
84
|
+
}
|
85
|
+
if(time_format == ""){
|
86
|
+
custom_timestamp = date_value
|
82
87
|
}
|
83
88
|
}else if(time_diff_in_days > -7){
|
84
89
|
date_value = "on " + custom_format(timestamp, "%A")
|
@@ -87,9 +92,12 @@ function prettyDate(element){
|
|
87
92
|
custom_timestamp = time_value + " " + date_value;
|
88
93
|
}else{
|
89
94
|
custom_timestamp = date_value + " at " + time_value;
|
95
|
+
}
|
96
|
+
if(time_format == ""){
|
97
|
+
custom_timestamp = date_value
|
90
98
|
}
|
91
99
|
}else{
|
92
|
-
|
100
|
+
element.removeClass('on')
|
93
101
|
custom_timestamp = regular_date_display
|
94
102
|
}
|
95
103
|
}else if(time_diff_in_days < 1){
|
@@ -100,9 +108,15 @@ function prettyDate(element){
|
|
100
108
|
custom_timestamp = time_value + " " + date_value;
|
101
109
|
}else{
|
102
110
|
custom_timestamp = date_value + " at " + time_value;
|
111
|
+
}
|
112
|
+
if(time_format == ""){
|
113
|
+
custom_timestamp = date_value
|
103
114
|
}
|
104
115
|
}else{
|
105
116
|
custom_timestamp = humanize_format(time_diff_in_seconds, time_diff_in_days);
|
117
|
+
if(time_format == ""){
|
118
|
+
custom_timestamp = "today"
|
119
|
+
}
|
106
120
|
}
|
107
121
|
}else if(time_diff_in_days < 7){
|
108
122
|
date_value = "last " + custom_format(timestamp, "%A")
|
@@ -111,13 +125,16 @@ function prettyDate(element){
|
|
111
125
|
custom_timestamp = time_value + " " + date_value;
|
112
126
|
}else{
|
113
127
|
custom_timestamp = date_value + " at " + time_value;
|
128
|
+
}
|
129
|
+
if(time_format == ""){
|
130
|
+
custom_timestamp = date_value
|
114
131
|
}
|
115
132
|
}else{
|
116
|
-
|
133
|
+
element.removeClass('on')
|
117
134
|
custom_timestamp = regular_date_display
|
118
135
|
}
|
119
136
|
}else{
|
120
|
-
|
137
|
+
element.removeClass('on')
|
121
138
|
custom_timestamp = regular_date_display
|
122
139
|
}
|
123
140
|
|
@@ -133,12 +150,12 @@ function prettyDate(element){
|
|
133
150
|
|
134
151
|
function update_timer(interval){
|
135
152
|
if(!interval){interval = 1000;}
|
136
|
-
current_datetime =
|
153
|
+
current_datetime = jQuery('meta#wiser_date').attr('data-server-datetime');
|
137
154
|
current_datetime = new Date((current_datetime || "").replace(/-/g,"/").replace(/[TZ]/g," "));
|
138
155
|
current_datetime.setTime(current_datetime.getTime() + interval);
|
139
156
|
current_datetime = custom_format(current_datetime, "%Y-%m-%d %H:%M:%S");
|
140
|
-
|
141
|
-
|
157
|
+
jQuery('meta#wiser_date').attr('data-server-datetime', current_datetime);
|
158
|
+
jQuery('#real_time').text('The actual server time is ' + current_datetime);
|
142
159
|
}
|
143
160
|
|
144
161
|
function humanize_format(sec_diff, day_diff){
|
@@ -225,4 +242,4 @@ function DateFmt() {
|
|
225
242
|
|
226
243
|
return dateTxt
|
227
244
|
}
|
228
|
-
}
|
245
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wiser_date
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenneth John Balgos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2012-
|
11
|
+
date: 2012-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|