Ruby, vérifier si la date est un week-end?
J'ai un DailyQuote modèle dans mon application rails qui a un date et prix pour un stock. Les données dans la base de données a été capturé pour ce modèle, y compris les week-ends. Le week-end, les prix ont été fixés à 0.
Je veux changer tout le week-end des prix pour le samedi et dimanche jusqu'à ce que le prix était le vendredi. Quelle est la meilleure façon de le faire en Ruby? Pour déterminer si une date tombe un Sat ou le Soleil et le changement de sa valeur au Ven de ce week-end?
- voir aussi: stackoverflow.com/questions/4044574/...
Vous devez vous connecter pour publier un commentaire.
ou
ask_price_for
détient désormais une date pour laquelle vous souhaitez demander le prix.Obtenir le prix réel qui est correspondant pour vous le jour dépend de votre Modèle et de votre ORM-Bibliothèque (c'est à dire ActiveRecord).
saturday?
etsunday?
sont utilisés ici.Date.today.on_weekend?
pour cela.TFM montre un moyen intéressant d'identifier le jour de la semaine:
on_weekend?
méthode.Time.now.on_weekend? #=> true if saturday or sunday
Aussi,on_weekday?
fait le contraire.L'approche la plus simple:
Vous pouvez également le faire pour n'importe quel autre jour de la semaine. Ruby est fantastique et offre beaucoup de fraîcheur, des méthodes de ce genre. Je suggère quand vous obtenez perplexe prendre un coup d'oeil à ce qui est disponible pour la classe en cours d'exécution
.methods
sur elle. Donc, si vous exécutezDate.today.methods
, vous verrez que ces disponibles.[0, 6, 7].include?(wday)
.Date.aujourd'hui.instance_eval { samedi? || dimanche? }
Date.today.instance_eval { saturday? || sunday? || holiday?(:it) }