Added exception handling to display a user friendly message when time parse goes wrong

This commit is contained in:
Andrea Schiavini 2012-02-13 12:54:25 +01:00 committed by Jade Dominguez
parent 1a9411aea9
commit 9c1cf75ce8

View file

@ -46,7 +46,12 @@ task :post do
abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
title = ENV["title"] || "new-post"
slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
date = (Time.parse(ENV['date']) || Time.now).strftime('%Y-%m-%d')
begin
date = (Time.parse(ENV['date']) || Time.now).strftime('%Y-%m-%d')
rescue Exception => e
puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!"
exit -1
end
filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}")
if File.exist?(filename)
abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'