Haha..
J'utilise Chronic pour analyser l'heure que les utilisateurs ajoutent dans le calendrier. Alors que le code fonctionne et implémente la bonne heure, le résultat final est que, SI un utilisateur ajoute une heure, alors elle n'a pas de date, et parce qu'elle n'a pas de date, elle n'apparaîtra pas dans les résultats. Avez-vous des idées ?
def set_dates
unless self.natural_date.blank? || Chronic.parse(self.natural_date).blank?
# check if we are dealing with a date or a date + time
if time_provided?(self.natural_date)
self.date = nil
self.time = Chronic.parse(self.natural_date)
else
self.date = Chronic.parse(self.natural_date).to_date
self.time = nil
end
end
unless self.natural_end_date.blank? || Chronic.parse(self.natural_end_date).blank?
# check if we are dealing with a date or a date + time
if time_provided?(self.natural_end_date)
self.end_date = nil
self.end_time = Chronic.parse(self.natural_end_date)
else
self.end_date = Chronic.parse(self.natural_end_date).to_date
self.end_time = nil
end
end
end
Edit :
Voici la méthode time_provided ?
def time_provided?(natural_date_string)
date_span = Chronic.parse(natural_date_string, :guess => false)
(date_span.last - date_span.first).to_i == 1
end