Class: Date

Inherits:
Object
  • Object
show all
Defined in:
lib/parse_date.rb

Class Method Summary collapse

Class Method Details

.date_only_year?(value) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/parse_date.rb', line 19

def self.date_only_year?(value)
  value.is_a?(String) and value.strip.match /^\d{2,4}$/
end

.expand_year(value, base = 1900) ⇒ Object



23
24
25
26
# File 'lib/parse_date.rb', line 23

def self.expand_year(value, base = 1900)
  year = value.to_i
  return year < 100 ? year + base : year
end

.parse_date(value) ⇒ Object

Date helpers



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/parse_date.rb', line 3

def self.parse_date(value)
  if value.is_a?(String)
    if value.match /.*-.*-.*/
      return value
    end
    day, month, year = value.split('.').map {|s| s.to_i}
    month ||= Date.today.month
    year ||= Date.today.year
    year = expand_year(year, 1900)

    return sprintf("%4d-%02d-%02d", year, month, day)
  else
    return value
  end
end