magnusvk/counter_culture
Turbo-charged counter caches for your Rails app. observed · 2026-08-28
Health v2 · maintenance only
73/100
- Activity 91
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 5214
- days_rel: n/a
- days_push: 56
- n_releases_24m: 0
Adoption not part of the score
2118 stars · 224 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
counter_culture is a Ruby gem that provides enhanced counter caches for Rails ActiveRecord applications. It keeps denormalized count and sum columns up to date on value changes, across multi-level relations, with dynamic column names.
Use cases
- keep a count of associated records up to date in a parent table
- maintain running totals of child record values in Rails
- avoid expensive COUNT queries on large Rails associations
- track counts through multi-level ActiveRecord relations
- split counters by record type with dynamic column names
When to choose
- you use Rails/ActiveRecord and need accurate, automatically maintained counter caches
- you need counters or sums that update when attribute values change, not just on create/destroy
- you need counters across has_many :through or nested relations
When to avoid
- you are not using Ruby on Rails or ActiveRecord
- you expect .size on associations to use the cache - this gem does not change .size behavior
- you only need simple create/destroy counters and Rails' built-in counter_cache suffices
Facets
library · maturity active
database caching orm databases web-development developer-tools ruby counter-cache activerecord rails-gem denormalization rails
1 source
- readme: https://github.com/magnusvk/counter_culture · fetched 2026-08-28 · 94caae76266d
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| magnusvk/counter_culture | main | 73 |
For agents
markdown · JSON · MCP: product_card(name="magnusvk/counter_culture")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem