From: luke Date: 2005-07-06T14:10:45+09:00 Subject: (newb) converting seconds into plain english time units 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