Merge pull request #4187 from castlerock/basic_object_in_19

::BasicObject always defined in ruby 19
This commit is contained in:
José Valim 2011-12-25 11:08:15 -08:00
commit 4e1999d20e
1 changed files with 9 additions and 16 deletions

View File

@ -1,21 +1,14 @@
module ActiveSupport module ActiveSupport
if defined? ::BasicObject # A class with no predefined methods that behaves similarly to Builder's
# A class with no predefined methods that behaves similarly to Builder's # BlankSlate. Used for proxy classes.
# BlankSlate. Used for proxy classes. class BasicObject < ::BasicObject
class BasicObject < ::BasicObject undef_method :==
undef_method :== undef_method :equal?
undef_method :equal?
# Let ActiveSupport::BasicObject at least raise exceptions. # Let ActiveSupport::BasicObject at least raise exceptions.
def raise(*args) def raise(*args)
::Object.send(:raise, *args) ::Object.send(:raise, *args)
end
end
else
class BasicObject #:nodoc:
instance_methods.each do |m|
undef_method(m) if m.to_s !~ /(?:^__|^nil\?$|^send$|^object_id$)/
end
end end
end end
end end