From 1859c299319b1d5f085c3878e2a24928b92d0c33 Mon Sep 17 00:00:00 2001 From: Morgan Roderick Date: Wed, 15 Jul 2026 18:26:14 +0200 Subject: [PATCH] refactor: inline address formatting in EventCalendar to remove layer violation EventCalendar (infrastructure layer) was using AddressPresenter (presentation layer) to format venue addresses. Inline the simple join of address fields directly, matching AddressPresenter#to_s behaviour without the upward dependency. --- lib/services/event_calendar.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/services/event_calendar.rb b/lib/services/event_calendar.rb index 8b3f3c7ee..314cff890 100644 --- a/lib/services/event_calendar.rb +++ b/lib/services/event_calendar.rb @@ -13,14 +13,22 @@ def calendar private def setup_event - address = AddressPresenter.new(event.venue.address) if event.venue.present? calendar.event do |e| e.organizer = event.email.to_s e.dtstart = event.date_and_time e.dtend = event.ends_at e.summary = event.name - e.location = address&.to_s + e.location = address_string e.ip_class = 'PRIVATE' end end + + def address_string + address = event.venue&.address + return unless address + + [address.flat, address.street, address.city, address.postal_code] + .delete_if(&:empty?) + .join(', ') + end end