Project

General

Profile

Actions

Feature #13272

closed

Keyword argument to instantiate a subclass of Struct

Added by tagomoris (Satoshi Tagomori) about 7 years ago. Updated over 6 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:79885]

Description

When we define a subclass of Struct, it take arguments of values of fields when instantiated:

ServiceAccount = Struct(:account_name, :full_name, :nickname, :name_invited_by, :twitter_account_name)
a = ServiceAccount.new("tagomoris", "satoshi tagomori", "satoshi", "satoru", "@tagomoris")

It's simple and enough easy to use when the code to instantiate it is near from definition.
But sometimes the code using ServiceAccount may be far from definition, and hard to read/understand what does an element represent.

I want to use keyword arguments to instantiate struct objects in such case. it's far easier to understand rather than arguments without keywords:

a = ServiceAccount.new(
  account_name: "tagomoris",
  full_name: "satoshi tagomori",
  nickname: "satoshi",
  name_invited_by: "satoru",
  twitter_account_name: "@tagomoris",
)

Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Feature #11925: Struct construction with kwargsClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0