Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Intro 👋
Hi there! I hope it was all right to open this PR directly. I'm a first-time contributor so go easy on me and let me know how you'd like me to contribute this, if it's welcome.
This PR
Take a class with an enum defined:
Currently, it's only possible to access the enum mapping on instances:
But the mapping is defined on the class, so there's no reason this shouldn't also work, which is how it also works in ActiveRecord:
This PR defines that method on the class.
Bonus
In Rails, it's also possible to access the enum mapping via the pluralized enum name, e.g.
instead of
To support both the Rails style pluralized name style as well as the current StoreModel style, I also added aliases with the Rails-style names to the StoreModel-style names.