Issue #6056 has been updated by Marc-Andre Lafortune.


Hi,

Thomas Sawyer wrote:
> Each change should be separate pull request or just a separate commit? 

Ideally, both. It makes it easier to accept only some of the parts. As I said, "in the future"; no need to split your existing commits. In this case, the difficulty lies in deciding what should be done, not in implementing it.


----------------------------------------
Feature #6056: Enhancements to OpenStruct
https://bugs.ruby-lang.org/issues/6056

Author: Thomas Sawyer
Status: Open
Priority: Normal
Assignee: Marc-Andre Lafortune
Category: lib
Target version: 2.0.0


This patch fixes one issue, protecting #new_ostruct_member method, and possibly another by dup'ing marshal_dump, but I need more feedback on the later b/c I've also been told it is not needed.

The rest of this patch provides enhancements to OpenStruct that I feel are sorely needed, these include access via [] and []=, ability to mass update via merge!, minimal polymorphism with Hash and the addition of equality methods, eql? and ==.

https://github.com/ruby/ruby/pull/95

I'd also like opinions on further enhancements:

* adding #each and #each_pair
* making OpenStruct a subclass of BasicObject



-- 
http://bugs.ruby-lang.org/