Project

General

Profile

Actions

Feature #7149

open

Constant magic for everyone.

Added by Anonymous about 12 years ago. Updated 8 months ago.

Status:
Assigned
Target version:
-
[ruby-core:47945]

Description

I noticed that certain objects have constant magic: When they are first assigned to a constant, they acquire a name property equal to the constant name string. I only know about Class and Struct objects behaving this way. I like this behavior, because I like to be able to say something like:

Adenosine = ChemicalSpecies.new initial_concentration: 5.micromolar
Adenosine.name #=> "Adenosine"

I like it so much, that I wrote a library (I call it ConstantMagicErsatz) for myself that searches whole namespace for the new objects assigned to constants. But searching whole wild namespace has its pitfalls. It is a wildly difficult workaround to get the candy I want. I am dreaming about just being able to say:

class ChemicalSpecies
constant_magic true
end

and imbue ChemicalSpecies with the same constant magic ability that Class and Struct classes have. Could it be made possible, please?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0