Project

General

Profile

Backport #6063 ยป openstruct-delete-field-fix.patch

oruen (Nick Recobra), 02/23/2012 02:12 AM

View differences:

lib/ostruct.rb (working copy)
#
def delete_field(name)
sym = name.to_sym
singleton_class.__send__(:remove_method, sym, "#{name}=")
@table.delete sym
singleton_class.__send__(:remove_method, sym, "#{name}=")
end
InspectKey = :__inspect_key__ # :nodoc:
test/ostruct/test_ostruct.rb (working copy)
o.a = 'a'
assert_respond_to(o, :a)
assert_respond_to(o, :a=)
o.delete_field :a
a = o.delete_field :a
assert_not_respond_to(o, :a, bug)
assert_not_respond_to(o, :a=, bug)
assert_equal(a, 'a')
end
def test_method_missing_handles_square_bracket_equals
    (1-1/1)