Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby, check if date is a weekend?

I have a DailyQuote model in my rails application which has a date and price for a stock. Data in the database has been captured for this model including weekends. The weekend price values have been set as 0.

I want to change all the weekend prices for Saturday and Sunday to whatever the price was on Friday. What is the best way to do this in Ruby? To identify if a date falls on a Sat or Sun and change its value to the Fri of that weekend?

like image 277
General_9 Avatar asked Aug 11 '12 11:08

General_9


2 Answers

TFM shows an interesting way to identifying the day of the week:

t = Time.now t.saturday?    #=> returns a boolean value t.sunday?      #=> returns a boolean value 
like image 190
tsundoku Avatar answered Sep 27 '22 22:09

tsundoku


The simplest approach:

today = Date.today  if today.saturday? || today.sunday?    puts "Today is a weekend!" end 

You can also do this for any other day of the week. Ruby is fantastic and offers a lot of cool methods like this. I suggest when you get stumped take a look at what's available to the class by running .methods on it. So if you run Date.today.methods you will see these available.

like image 33
heading_to_tahiti Avatar answered Sep 27 '22 22:09

heading_to_tahiti