mdemare-like_time 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/like_time.rb +13 -10
- data/like_time.gemspec +1 -1
- metadata +1 -1
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/lib/like_time.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
class Time
|
2
|
-
def Time.
|
2
|
+
def Time.set_default_template_language(lang)
|
3
3
|
@lang = lang
|
4
4
|
end
|
5
5
|
|
@@ -26,7 +26,7 @@ class Time
|
|
26
26
|
:month => %w(X jan feb mrt apr mei jun jul aug sep okt nov dec),
|
27
27
|
:lmonth => %w(X januari februari maart april mei juni juli augustus september oktober november december)}}
|
28
28
|
|
29
|
-
# +
|
29
|
+
# +s+ Uses a natural format to specify a date/time format, by using a reference date/time.
|
30
30
|
# This time is Sunday, December 31, 23:59.
|
31
31
|
# Capitalization of months/weekdays will match that in template.
|
32
32
|
# The following subset of strftime is supported:
|
@@ -52,22 +52,25 @@ class Time
|
|
52
52
|
# Time.now.like("31-12-99")
|
53
53
|
# Time.now.like("Zondag om 23 uur 59")
|
54
54
|
# Time.now.like("December, 1999")
|
55
|
-
def like(
|
56
|
-
|
55
|
+
def like(s, lang = nil)
|
56
|
+
l = lang || Time.default_template_language
|
57
|
+
raise "Please supply language as parameter, or set global language with Time.set_default_template_language(lang)"
|
58
|
+
lang_data = LANG_DATA[l.to_sym]
|
57
59
|
raise "Language #{lang} not supported." unless lang_data
|
58
|
-
s = template.dup
|
59
60
|
match_capitalization = lambda {|t,z| z == z.downcase ? t.downcase : z == z.upcase ? t.upcase : t.capitalize }
|
60
|
-
s.
|
61
|
+
s.split(/([A-Z]+)|(\d+)/i).map do |x|
|
61
62
|
if y = lang_data[:conversion][x.downcase]
|
62
63
|
if String === y
|
63
|
-
|
64
|
+
y
|
64
65
|
elsif y == :day or y == :lday
|
65
|
-
|
66
|
+
match_capitalization[lang_data[y][wday], x]
|
66
67
|
else
|
67
|
-
|
68
|
+
match_capitalization[lang_data[y][month], x]
|
68
69
|
end
|
70
|
+
else
|
71
|
+
x
|
69
72
|
end
|
70
|
-
end
|
73
|
+
end.join
|
71
74
|
strftime s
|
72
75
|
end
|
73
76
|
end
|
data/like_time.gemspec
CHANGED