Project

General

Profile

Feature #6442

CRUDify Hash class

Added by trans (Thomas Sawyer) over 5 years ago. Updated about 5 years ago.

Status:
Feedback
Priority:
Normal
Target version:
[ruby-core:45095]

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 #[].Feedback2012-07-16

History

#1 Updated by nobu (Nobuyoshi Nakada) over 5 years ago

  • Status changed from Open to Feedback
  • Assignee set to trans (Thomas Sawyer)

Patches welcome.

#2 [ruby-core:48250] Updated by yhara (Yutaka HARA) about 5 years ago

  • Target version changed from 2.0.0 to next minor

Also available in: Atom PDF