[Ruby] Не работает определение нового метода для Time в CGI

Ilya Palagin tux at fioc.kz
Tue Nov 5 11:49:37 MSK 2002


Приветстствую!
Имеем:

#----------------------------------------------
require 'cgi'
class Time
      def testmeth
          return 1
      end
end
tm = Time.local(2002, 10, 21, 0, 0, 0)
cgi = CGI.new("html3")
cgi.out{cgi.html{cgi.body{}}}
#----------------------------------------------

При попытке выполнения как CGI получаем ошибку:
undefined method `local' for #<Module 0lx3190d23c>::Time (NameError)
Из командной строки все работает. Если убрать упоминание про class Time,
тоже работает. В то же время, если определить новый метод для
какого-либо другого встроенного класса вроде String, ошибки не
возникает. Данную проблему можно обойти, создав InhTime<Time и дав ему
все необходимые методы. Есть ли какая-либо законная причина для Time не
любить custom методы в CGI, или это баг mod_ruby?

Спасибо.





More information about the Ruby mailing list