From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 7E1371F9FC for ; Sat, 27 Mar 2021 01:03:45 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 9C979120ADB; Sat, 27 Mar 2021 10:02:43 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id E87CF120ADA for ; Sat, 27 Mar 2021 10:02:40 +0900 (JST) Received: by filterdrecv-p3iad2-7d7c446bd4-79mrr with SMTP id filterdrecv-p3iad2-7d7c446bd4-79mrr-21-605E8464-27 2021-03-27 01:03:32.372587828 +0000 UTC m=+282637.671819805 Received: from herokuapp.com (unknown) by ismtpd0169p1mdw1.sendgrid.net (SG) with ESMTP id mgPaHhUhRuW14-JDoyTI_A for ; Sat, 27 Mar 2021 01:03:32.264 +0000 (UTC) Date: Sat, 27 Mar 2021 01:03:32 +0000 (UTC) From: marcandre-ruby-core@marc-andre.ca Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 79083 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 17472 X-Redmine-Issue-Author: naruse X-Redmine-Sender: marcandre X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?6=2FIMxCQLDposcQf5wmbDAtfaKduBAO0bKyhL3BGZtMQ5q7K2TvpbN6A7JIyt9E?= =?us-ascii?Q?aOBkHvFRvpiywA2gDy0In=2F39SEBZhHIF=2FJpJPDx?= =?us-ascii?Q?rxAJFboSXySA5TbeGaV1qJZnX61colnk1ZOJ6is?= =?us-ascii?Q?001WWdpumLAE9CmC2trjP2AU9TkbcSwcySw=2F5YE?= =?us-ascii?Q?DfFeOIMq+dvgSQS9bzvt=2F+H9btwZoeSmRAFjTTY?= =?us-ascii?Q?29KTJ9FzkdMgTZaxl0K4pZveHjBfJa37Wht1zY?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 103048 Subject: [ruby-core:103048] [Ruby master Feature#17472] HashWithIndifferentAccess like Hash extension X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #17472 has been updated by marcandre (Marc-Andre Lafortune). joelb (Joel Blum) wrote in #note-17: > [...] what happens is every time you do JSON.parse you will get stringified keys Use `JSON.parse(data, symbolize_names: true)` ---------------------------------------- Feature #17472: HashWithIndifferentAccess like Hash extension https://bugs.ruby-lang.org/issues/17472#change-91109 * Author: naruse (Yui NARUSE) * Status: Open * Priority: Normal * Target version: 3.1 ---------------------------------------- Rails has [ActiveSupport::HashWithIndifferentAccess](https://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html), which is widely used in Rails to handle Request, Session, ActionView's form construction, ActiveRecord's DB communication, and so on. It receives String or Symbol and normalize them to fetch the value. But it is implemented with Ruby. If we provide C implementation of that, Rails will gain the performance improvement. summary of previous discussion: https://github.com/rails/rails/pull/40182#issuecomment-687607812 -- https://bugs.ruby-lang.org/