From: "tadf (tadayoshi funaba)" Date: 2012-06-16T15:05:39+09:00 Subject: [ruby-core:45671] [ruby-trunk - Bug #6547][Rejected] DateTime.new does not call #initialize Issue #6547 has been updated by tadf (tadayoshi funaba). Status changed from Assigned to Rejected i believe this is not a bug. it's expensive/slow to call initialize. on DateTime, new is one of various constractors. if you want to write a subclass of DateTime, you may rewrite each of them. ---------------------------------------- Bug #6547: DateTime.new does not call #initialize https://bugs.ruby-lang.org/issues/6547#change-27271 Author: lmc (Luke Mcildoon) Status: Rejected Priority: Low Assignee: tadf (tadayoshi funaba) Category: ext Target version: ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux] Classes that extend DateTime don't appear to have their "initialize" instance method called from "new". To reproduce: irb(main):001:0> [RUBY_VERSION,RUBY_PLATFORM] => ["1.9.3", "i686-linux"] irb(main):002:0> require "date" => true irb(main):003:0> class DateTimeExtension < DateTime irb(main):004:1> def initialize(*args) irb(main):005:2> raise "DateTimeExtension#initialize called" irb(main):006:2> end irb(main):007:1> end => nil irb(main):008:0> DateTimeExtension.new => # # no exception raised I expected calling "DateTimeExtension.new" to raise the exception from inside "initialize". -- http://bugs.ruby-lang.org/