From 33e064affff29ac2a59dbc4d6a9e47b26da39080 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 20 Feb 2004 10:11:25 +0000 Subject: * lib/ostruct.rb (OpenStruct#initialize_copy): should not share members. [ruby-dev:22966] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/ostruct.rb | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 8f19057652..c051e7feb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Feb 20 19:11:20 2004 Nobuyoshi Nakada + + * lib/ostruct.rb (OpenStruct#initialize_copy): should not share + members. [ruby-dev:22966] + Fri Feb 20 18:59:47 2004 Yukihiro Matsumoto * lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to diff --git a/lib/ostruct.rb b/lib/ostruct.rb index 786bd4de20..b0bb775263 100644 --- a/lib/ostruct.rb +++ b/lib/ostruct.rb @@ -52,6 +52,12 @@ class OpenStruct end end + # Duplicate an OpenStruct object members. + def initialize_copy(orig) + super + @table = @table.dup + end + def method_missing(mid, *args) # :nodoc: mname = mid.id2name len = args.length -- cgit v1.2.3