Revert const_missing bypass in favor of Duration constant lookup tweak

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8412 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper 2007-12-15 02:30:17 +00:00
parent 3df9fb53ac
commit 6743504ba2
3 changed files with 3 additions and 6 deletions

View File

@ -1,5 +1,7 @@
*SVN* *SVN*
* Ruby 1.9 compatibility. #1689, #10466, #10468 [Cheah Chu Yeow, Jeremy Kemper]
* TimeZone#to_s uses UTC rather than GMT. #1689 [Cheah Chu Yeow] * TimeZone#to_s uses UTC rather than GMT. #1689 [Cheah Chu Yeow]
* Refactor of Hash#symbolize_keys! to use Hash#replace. Closes #10420 [ReinH] * Refactor of Hash#symbolize_keys! to use Hash#replace. Closes #10420 [ReinH]

View File

@ -461,11 +461,6 @@ end
class Class class Class
def const_missing(const_name) def const_missing(const_name)
# Bypass entire lookup process if we can get the constant from Object.
# This is useful for Ruby 1.9 where Module#const_defined? looks up the
# ancestors in the chain for the constant.
return ::Object.const_get(const_name) if ::Object.const_defined?(const_name)
if [Object, Kernel].include?(self) || parent == self if [Object, Kernel].include?(self) || parent == self
super super
else else

View File

@ -64,7 +64,7 @@ module ActiveSupport
alias :until :ago alias :until :ago
def inspect #:nodoc: def inspect #:nodoc:
consolidated = parts.inject(Hash.new(0)) { |h,part| h[part.first] += part.last; h } consolidated = parts.inject(::Hash.new(0)) { |h,part| h[part.first] += part.last; h }
[:years, :months, :days, :minutes, :seconds].map do |length| [:years, :months, :days, :minutes, :seconds].map do |length|
n = consolidated[length] n = consolidated[length]
"#{n} #{n == 1 ? length.to_s.singularize : length.to_s}" if n.nonzero? "#{n} #{n == 1 ? length.to_s.singularize : length.to_s}" if n.nonzero?