Module: DOF::DateFormatter

Defined in:
lib/DOF/date_formatter.rb

Constant Summary collapse

DATE_FORMAT =
'^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$'

Class Method Summary collapse

Class Method Details

.format(date) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/DOF/date_formatter.rb', line 5

def self.format(date)
  formatted_date = ''

  if ((date.is_a? String) && date.match(DATE_FORMAT)) || (date.is_a? Date)
    formatted_date = Date.parse(date.to_s).strftime("%d-%m-%Y")
  else
    raise Errors::PreconditionFailed.new("The date has incorrect format")
  end
end