Actions
Bug #16086
closedOpenStruct method access with a block does not raise
Bug #16086:
OpenStruct method access with a block does not raise
Description
This can cause confusion.
> OpenStruct.new(hello: 'world').each { |k, v| puts k.upcase } # there's no "each" method
=> nil
> OpenStruct.new(hello: 'world').eahc_pair { |k, v| puts k.upcase } # each_pair typo
=> nil
An undefined key with a block should maybe raise NoMethodError
or ArgumentError
?
A defined key with a block seems to yield the value, I don't see this being documented:
> OpenStruct.new(hello: 'world').hello { |k| puts k.upcase }
HELLO
Maybe it should raise ArgumentError
too?
Actions