hi,

i'm having some difficulty in writing a method that takes a number of
seconds, and returns the equivalent in hours, days, or weeks depending on
which time unit is most appropriate.

the part that's not working is that i want the code to know if it should use
a plural or not, so for it to return "day" if there is only one, and "days"
if there are more, for example. except at the moment it's making everything
a plural!

this is the code, apologies if it is offensive to the eye: :)

def format_time seconds
 hours  = (seconds / (60 * 60))
 plural = "s" if hours.to_i > 1
 time = "#{hours.to_i} hour#{plural}"
 if hours > 23
  days = hours / 24
  plural = "s" if days.to_i > 1
   time = "#{days.to_i} day#{plural}"
   if days > 30
    weeks = days / 7
   plural = "s" if weeks.to_i > 1
    time = "#{weeks.to_i} week#{plural}"
   end
 end

 time
end


and i've got a suspicion some of this would be better with the use of
'yield' and blocks, except i've thoroughly messed those up as well!

any help would be much appreciated.

thanks
luke