21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/human_speakable.rb', line 21
def self.format_date(date, year=false)
s = case (date - Date.today).to_i
when (0) then 'today'
when (1) then 'tomorrow'
when (2..6) then 'this ' + Date::DAYNAMES[date.wday]
when (7..10) then 'next ' + Date::DAYNAMES[date.wday]
when (11..14)
['next', Date::DAYNAMES[date.wday], 'the', (date.day.ordinal), 'of',
Date::MONTHNAMES[date.month]].join(' ')
when (15..21)
[Date::DAYNAMES[date.wday], 'the', (date.day.ordinal), 'of',
Date::MONTHNAMES[date.month]].join(' ')
else
['on the', (date.day.ordinal), 'of',
Date::MONTHNAMES[date.month]].join(' ')
end
year ? s + ' ' + date.year.to_s : s
end
|