Class: Decidim::Meetings::MeetingSerializer
- Inherits:
-
Exporters::Serializer
- Object
- Exporters::Serializer
- Decidim::Meetings::MeetingSerializer
- Includes:
- ApplicationHelper, ResourceHelper
- Defined in:
- decidim-meetings/lib/decidim/meetings/meeting_serializer.rb
Overview
This class serializes a Meeting so can be exported to CSV, JSON or other formats.
Direct Known Subclasses
Constant Summary
Constants included from AmendmentsHelper
Instance Attribute Summary
Attributes inherited from Exporters::Serializer
Instance Method Summary collapse
-
#serialize ⇒ Object
Public: Exports a hash with the serialized data for this meeting.
Methods included from ResourceHelper
#linked_classes_filter_values_for, #linked_classes_for, #resource_locator
Methods included from ApplicationHelper
#add_body_classes, #cell, #edit_link, #extra_admin_link, #html_truncate, #layout_item_classes, #present, #prevent_timeout_seconds, #resolve_presenter_class, #text_initials
Methods included from CacheHelper
Methods included from AmendmentsHelper
#accept_and_reject_buttons_for, #action_button_card_for, #allowed_to_accept_and_reject?, #allowed_to_promote?, #amendments_enabled?, #amendments_form_field_for, #amendments_form_fields_label, #amendments_form_fields_value, #can_participate_in_private_space?, #can_react_to_emendation?, #current_step, #emendation_actions_for, #emendation_announcement_for, #promote_button_for, #render_emendation_body, #total_steps, #wizard_aside_back_url, #wizard_header_title
Methods included from RichTextEditorHelper
Methods included from ContextualHelpHelper
Methods included from DecidimFormHelper
#areas_for_select, #base_error_messages, #decidim_form_for, #decidim_form_slug_url, #editor_field_tag, #form_field_has_error?, #form_required_explanation, #name_with_locale, #tab_element_class_for, #translated_field_tag
Methods included from OmniauthHelper
#normalize_provider_name, #oauth_icon, #provider_name
Methods inherited from Exporters::Serializer
#event_name, #finalize, #initialize, #run
Constructor Details
This class inherits a constructor from Decidim::Exporters::Serializer
Instance Method Details
#serialize ⇒ Object
Public: Exports a hash with the serialized data for this meeting.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'decidim-meetings/lib/decidim/meetings/meeting_serializer.rb', line 12 def serialize { id: resource.id, author: { ** }, participatory_space: { id: resource.participatory_space.id, url: Decidim::ResourceLocatorPresenter.new(resource.participatory_space).url }, taxonomies:, component: { id: component.id }, title: resource.title, description: resource.description, start_time: resource.start_time, end_time: resource.end_time, attendees: resource.attendees_count.to_i, contributions: resource.contributions_count.to_i, organizations: resource.attending_organizations, address: resource.address, location: include_location? ? resource.location : nil, reference: resource.reference, attachments: resource..size, url:, related_proposals:, related_results:, published: resource.published_at.present?, withdrawn: resource.withdrawn?, withdrawn_at: resource.withdrawn_at, location_hints: resource.location_hints, created_at: resource.created_at, updated_at: resource.updated_at, latitude: resource.latitude, longitude: resource.longitude, follows_count: resource.follows_count, private_meeting: resource.private_meeting, transparent: resource.transparent, registration_form_enabled: resource.registration_form_enabled, comments: { **comment_fields }, online_meeting_url: resource.online_meeting_url, closing_visible: resource.closing_visible, closing_report: resource.closing_report, attending_organizations: resource.attending_organizations, registration_url: resource.registration_url, decidim_author_type: resource., video_url: resource.video_url, audio_url: resource.audio_url, closed_at: resource.closed_at, registration_terms: resource.registration_terms, available_slots: resource.available_slots, registrations_enabled: resource.registrations_enabled, customize_registration_email: resource.customize_registration_email, type_of_meeting: resource.type_of_meeting, iframe_access_level: resource.iframe_access_level, iframe_embed_type: resource., reserved_slots: resource.reserved_slots, registration_type: resource.registration_type } end |