Feature #6442

CRUDify Hash class

Added by Thomas Sawyer almost 2 years ago. Updated over 1 year ago.

[ruby-core:45095]
Status:Feedback
Priority:Normal
Assignee:Thomas Sawyer
Category:core
Target version:next minor

Description

Ruby's Hash class is not very internally "connascent" --many different methods access the underlying data. There is no core set of specific methods that can be overridden to handle all cases. This leads to a very unDRY and bloated class when subclassing or delegating. If Ruby's Hash could be modified to follow essentially a CRUD model, with single points-of-entry for the creation, reading, updating and deletion of entries, and all other methods route through these core methods for access to the underlying data, then it would be much easier to subclass and delegate, and make the Hash class much more solid in design.

I believe the core methods needed are: read(key), store(key,value), delete(key) as well as key?(key) and keys.


Related issues

Related to ruby-trunk - Feature #6737: Add Hash#read and alias as #[]. Feedback 07/16/2012

History

#1 Updated by Nobuyoshi Nakada almost 2 years ago

  • Status changed from Open to Feedback
  • Assignee set to Thomas Sawyer

Patches welcome.

#2 Updated by Yutaka HARA over 1 year ago

  • Target version changed from 2.0.0 to next minor

Also available in: Atom PDF