Bug #13358 ยป 0001-ostruct.rb-improve-fix-for-OpenStruct.allocate-respo.patch
lib/ostruct.rb | ||
---|---|---|
# of these properties compared to using a Hash or a Struct.
|
||
#
|
||
class OpenStruct
|
||
class << self # :nodoc:
|
||
def allocate
|
||
(x = super).instance_variable_set(:@table, {})
|
||
x
|
||
end
|
||
end
|
||
#
|
||
# Creates a new OpenStruct object. By default, the resulting OpenStruct
|
||
... | ... | |
def respond_to_missing?(mid, include_private = false) # :nodoc:
|
||
mname = mid.to_s.chomp("=").to_sym
|
||
@table.key?(mname) || super
|
||
@table&.key?(mname) || super
|
||
end
|
||
def method_missing(mid, *args) # :nodoc:
|