From: akr@... Date: 2015-01-07T06:02:39+00:00 Subject: [ruby-core:67378] [ruby-trunk - Bug #10703] [Rejected] Invalid Dates Bug Patch Issue #10703 has been updated by Akira Tanaka. Status changed from Open to Rejected Don't create a new ticket for a patch. Use the original ticket, [Bug #10588], you reported. ---------------------------------------- Bug #10703: Invalid Dates Bug Patch https://bugs.ruby-lang.org/issues/10703#change-50822 * Author: Imran "" * Status: Rejected * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: 2.0.0-p481 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- The following is a pure Ruby-based patch to address the issues raised in Bug 10588 Invalid Dates: ~~~ class SmartTime < Time def self.mktime year, month, day case month when 4, 6, 9, 11 if day == 31 raise ArgumentError, 'argument out of range _ APR, JUNE, SEP, NOV', caller else super end when 2 case day when 30, 31 raise ArgumentError, 'argument out of range _ FEB', caller when 29 if year%100 == 0 if year%400 == 0 super else raise ArgumentError, 'argument out of range _ FEB', caller end else if year%4 == 0 super else raise ArgumentError, 'argument out of range _ FEB', caller end end else super end else super end end end ~~~ Another version of this patch with a light-hearted commentary, using the same algorithm but a slightly different approach, is available at: otherimran.wordpress.com Ruby is a mature, productive programming tool. It���s not a silly toy. It doesn���t deserve to have such dumb bugs lurking inside its core classes. That���s just me, exercising my right to politely protest the decision made by Ruby maintainers. I hope they would reconsider and fix it internally. ---Files-------------------------------- SmartTime.rb (953 Bytes) -- https://bugs.ruby-lang.org/