We need a way to manually expire the cache for a budget or poll without expiring the cache of every budget or poll. Using the `updated_at` column would be dangerous because most of the times we update a budget or a poll, we don't need to regenerate their stats. We've considered adding a `stats_updated_at` column to each of these tables. However, in that case we would also need to add a similar column in the future to every process type whose stats we want to generate.
12 lines
206 B
Ruby
12 lines
206 B
Ruby
module StatsVersionable
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
has_one :stats_version, as: :process
|
|
end
|
|
|
|
def find_or_create_stats_version
|
|
stats_version || create_stats_version
|
|
end
|
|
end
|