class Fixnum {"years" => 31536000,"weeks" => 604800,"days" => 86400,"hours" => 3600,"minutes" => 60, "seconds" => 1}.each do |key,val| define_method key do self * val end end %w(year week day hour minute second).each do |method| define_method method do 1.send("#{method}s".to_sym) end end {"ago" => "-", "from_now" => "+"}.each do |key,val| define_method key do Time.now.send(val.to_sym,self) end end {"until" => "-","until" => "-"}.each do |key,val| define_method key do |time| time.send(val.to_sym,self) end end