Class: Decidim::Meetings::SchemaOrgEventMeetingSerializer
- Inherits:
-
Exporters::Serializer
- Object
- Exporters::Serializer
- Decidim::Meetings::SchemaOrgEventMeetingSerializer
- Includes:
- ActionView::Helpers::UrlHelper, SanitizeHelper, TranslationsHelper
- Defined in:
- decidim-meetings/lib/decidim/meetings/schema_org_event_meeting_serializer.rb
Instance Method Summary collapse
-
#initialize(meeting) ⇒ SchemaOrgEventMeetingSerializer
constructor
Public: Initializes the serializer with a meeting.
-
#serialize ⇒ Object
Serializes a meeting for the Schema.org Event type.
Methods included from SanitizeHelper
#decidim_escape_translated, #decidim_html_escape, #decidim_rich_text, #decidim_sanitize, #decidim_sanitize_admin, #decidim_sanitize_editor, #decidim_sanitize_editor_admin, #decidim_sanitize_newsletter, #decidim_sanitize_translated, #decidim_url_escape, included
Methods included from TranslationsHelper
empty_translatable, ensure_translatable, multi_translation, translated_in_current_locale?
Methods included from TranslatableAttributes
#attachment?, #default_locale?
Methods inherited from Exporters::Serializer
Constructor Details
#initialize(meeting) ⇒ SchemaOrgEventMeetingSerializer
Public: Initializes the serializer with a meeting.
11 12 13 |
# File 'decidim-meetings/lib/decidim/meetings/schema_org_event_meeting_serializer.rb', line 11 def initialize(meeting) @meeting = meeting end |
Instance Method Details
#serialize ⇒ Object
Serializes a meeting for the Schema.org Event type
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'decidim-meetings/lib/decidim/meetings/schema_org_event_meeting_serializer.rb', line 19 def serialize attributes = { "@context": "https://schema.org", "@type": "Event", name: decidim_escape_translated(meeting.title), description: decidim_escape_translated(meeting.description), startDate: meeting.start_time.iso8601, endDate: meeting.end_time.iso8601, organizer:, eventAttendanceMode: event_attendance_mode, eventStatus: "https://schema.org/EventScheduled", location: } attributes = attributes.merge(image:) if meeting.photos.any? attributes end |