diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | lib/ostruct.rb | 5 | ||||
-rw-r--r-- | test/ostruct/test_ostruct.rb | 4 |
3 files changed, 21 insertions, 0 deletions
@@ -1,3 +1,15 @@ +Tue Dec 29 12:48:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/ostruct.rb (OpenStruct): make respond_to? working on + just-allocated objects for workaround of Psych. + [ruby-core:72501] [Bug #11884] + +Tue Dec 29 12:46:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/ostruct.rb (OpenStruct): make respond_to? working on + just-allocated objects for workaround of Psych. + [ruby-core:72501] [Bug #11884] + Tue Dec 29 10:35:00 2015 Kenta Murata <mrkn@mrkn.jp> * test/mkmf/test_have_func.rb (test_have_func): diff --git a/lib/ostruct.rb b/lib/ostruct.rb index 5aea0465bd..e7b8ed4609 100644 --- a/lib/ostruct.rb +++ b/lib/ostruct.rb @@ -71,6 +71,11 @@ # of these properties compared to using a Hash or a Struct. # class OpenStruct + # :nodoc: + class << self + alias allocate new + end + # # Creates a new OpenStruct object. By default, the resulting OpenStruct # object will have no attributes. diff --git a/test/ostruct/test_ostruct.rb b/test/ostruct/test_ostruct.rb index 8c122b94a7..8b0424d2d8 100644 --- a/test/ostruct/test_ostruct.rb +++ b/test/ostruct/test_ostruct.rb @@ -23,6 +23,10 @@ class TC_OpenStruct < Test::Unit::TestCase assert_respond_to(o, :a=) end + def test_respond_to_allocated + assert_not_respond_to(OpenStruct.allocate, :a) + end + def test_equality o1 = OpenStruct.new o2 = OpenStruct.new |