diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-07-01 00:24:10 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-07-01 00:24:10 +0200 |
| commit | 95955abaa339098755a214cfcadf87c90211fe64 (patch) | |
| tree | a3ad7a789e71b20c7c760dc1b09f3efcea3f0331 /app/models/event.rb | |
| parent | 51629c5c42270a346885057a441095c964101cc1 (diff) | |
Add RRULE humanizer and wire events into nodes#showerdgeist-revive-events
- app/models/concerns/rrule_humanizer.rb: new concern included into
Event, renders recurring schedule as natural-language German or
English from RRULE string; handles WEEKLY/MONTHLY, biweekly
(INTERVAL=2), ordinal weekday positions (1TU, -1TH, -2WE),
BYMONTH single-month exclusions (December pause convention);
gracefully returns nil for COUNT/UNTIL/unrecognized shapes
- test/models/concerns/rrule_humanizer_test.rb: 15 tests covering
all distinct RRULE shapes found in production data
- app/helpers/nodes_helper.rb: add event_schedule_text helper
combining humanize_rrule with start_time formatting
- app/views/nodes/show.html.erb: add events row, conditionally
rendered when node has associated events
- config/locales/de.yml, en.yml: add event_schedule_time,
event_schedule_unrecognized, event_schedule_none keys
Diffstat (limited to 'app/models/event.rb')
| -rw-r--r-- | app/models/event.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/app/models/event.rb b/app/models/event.rb index 26c79e4..de82674 100644 --- a/app/models/event.rb +++ b/app/models/event.rb | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | class Event < ApplicationRecord | 1 | class Event < ApplicationRecord |
| 2 | include RruleHumanizer | ||
| 2 | 3 | ||
| 3 | belongs_to :node, optional: true | 4 | belongs_to :node, optional: true |
| 4 | has_many :occurrences | 5 | has_many :occurrences |
