• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dblock / ruby-enum
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: dblock/coveralls-github-token
DEFAULT BRANCH: master
Repo Added 30 Dec 2025 05:05PM UTC
Files 7
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH memoize-enum-hash
branch: memoize-enum-hash
CHANGE BRANCH
x
Reset
  • memoize-enum-hash
  • HEAD
  • dblock/coveralls-github-token
  • document-performance
  • fix-subclass-no-defines
  • fix-values-override-issue-62
  • master
  • rename-ruby-namespace
  • replace-code-climate-with-coveralls
  • ruby-4.0
  • subclass-inherited-values
  • update-copyright-year

15 Aug 2026 01:54AM UTC coverage: 100.0%. Remained the same
#31

Pull #60

dblock
Memoize merged enum hashes and add inheritance benchmarks

Fix a performance regression introduced when keys, key?, value?, key,
value, to_h, parse and each were made to walk the superclass chain:
every call was recomputing the merged hash from scratch instead of
caching it, making these methods significantly slower on subclasses.

- Memoize _enum_hash/_enums_by_value, invalidating on define.
- Disable Metrics/ModuleLength rubocop cop (module grew past the
  default 100-line limit due to the memoization).
- Add benchmarks/inheritance.rb covering base/subclass/sub-subclass
  .value lookups plus .keys, .key?, .to_h and .each on a subclass,
  and a rake benchmark:inheritance task.
- Fix README documenting the case benchmark task as
  'rake benchmarks:case' instead of the actual 'rake benchmark:case'.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pull Request #60: Memoize merged enum hashes to fix superclass-lookup performance regression

7 of 7 new or added lines in 1 file covered. (100.0%)

161 of 161 relevant lines covered (100.0%)

6.86 hits per line

Relevant lines Covered
Build:
Build:
161 RELEVANT LINES 161 COVERED LINES
6.86 HITS PER LINE
Source Files on memoize-enum-hash
  • Tree
  • List 8
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
#31 memoize-enum-hash Memoize merged enum hashes and add inheritance benchmarks Fix a performance regression introduced when keys, key?, value?, key, value, to_h, parse and each were made to walk the superclass chain: every call was recomputing the merged hash from sc... Pull #60 15 Aug 2026 01:55AM UTC dblock
100.0
#30 memoize-enum-hash Revert CHANGELOG.md changes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Pull #60 15 Aug 2026 01:53AM UTC dblock
100.0
#29 memoize-enum-hash Memoize merged enum hashes and add inheritance benchmark Fix a performance regression introduced when keys, key?, value?, key, value, to_h, parse and each were made to walk the superclass chain: every call was recomputing the merged hash from scr... Pull #60 15 Aug 2026 01:52AM UTC dblock
100.0
See All Builds (51)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc