Class: Persona::Pruner
- Inherits:
-
Object
- Object
- Persona::Pruner
- Defined in:
- lib/persona/pruner.rb
Class Method Summary collapse
-
.enforce_cap_for(record) ⇒ Object
Prune per-record if max_events_per_record is set.
-
.prune_older_than(days) ⇒ Object
Prune events older than N days globally.
Class Method Details
.enforce_cap_for(record) ⇒ Object
Prune per-record if max_events_per_record is set
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/persona/pruner.rb', line 9 def self.enforce_cap_for(record) cap = Persona.configuration.max_events_per_record return unless cap count = record.persona_events.count return unless count > cap oldest_ids = record.persona_events .order(created_at: :asc) .limit(count - cap) .pluck(:id) PersonaEvent.where(id: oldest_ids).delete_all end |
.prune_older_than(days) ⇒ Object
Prune events older than N days globally
4 5 6 |
# File 'lib/persona/pruner.rb', line 4 def self.prune_older_than(days) PersonaEvent.where("created_at < ?", days.days.ago).delete_all end |