Module: Decidim

Includes:
ActiveSupport::Configurable
Defined in:
lib/decidim/map.rb,
lib/decidim/core.rb,
lib/decidim/menu.rb,
lib/decidim/events.rb,
lib/decidim/hashtag.rb,
lib/decidim/core/api.rb,
lib/decidim/loggable.rb,
lib/decidim/paddable.rb,
lib/decidim/scopable.rb,
lib/decidim/snippets.rb,
lib/decidim/amendable.rb,
lib/decidim/exporters.rb,
lib/decidim/menu_item.rb,
lib/decidim/messaging.rb,
lib/decidim/traceable.rb,
app/forms/decidim/form.rb,
lib/decidim/attributes.rb,
lib/decidim/authorable.rb,
lib/decidim/components.rb,
lib/decidim/endorsable.rb,
lib/decidim/followable.rb,
lib/decidim/geocodable.rb,
lib/decidim/io_encoder.rb,
lib/decidim/publicable.rb,
lib/decidim/randomable.rb,
lib/decidim/reportable.rb,
lib/decidim/searchable.rb,
lib/decidim/view_hooks.rb,
lib/decidim/view_model.rb,
app/models/decidim/area.rb,
app/models/decidim/user.rb,
lib/decidim/core/engine.rb,
lib/decidim/file_zipper.rb,
lib/decidim/map/utility.rb,
app/models/decidim/scope.rb,
lib/decidim/coauthorable.rb,
lib/decidim/core/version.rb,
lib/decidim/deprecations.rb,
lib/decidim/form_builder.rb,
lib/decidim/gamification.rb,
lib/decidim/has_category.rb,
lib/decidim/has_settings.rb,
lib/decidim/map/frontend.rb,
lib/decidim/map/provider.rb,
lib/decidim/participable.rb,
lib/decidim/resourceable.rb,
app/models/decidim/follow.rb,
app/models/decidim/metric.rb,
app/models/decidim/report.rb,
lib/decidim/engine_router.rb,
lib/decidim/exporters/csv.rb,
lib/decidim/exporters/pdf.rb,
lib/decidim/has_component.rb,
lib/decidim/has_reference.rb,
lib/decidim/map/geocoding.rb,
lib/decidim/menu_registry.rb,
lib/decidim/nicknamizable.rb,
lib/decidim/acts_as_author.rb,
lib/decidim/exporters/json.rb,
lib/decidim/friendly_dates.rb,
lib/decidim/map/static_map.rb,
lib/decidim/stats_registry.rb,
app/cells/decidim/card_cell.rb,
app/cells/decidim/diff_cell.rb,
app/cells/decidim/tags_cell.rb,
app/commands/decidim/search.rb,
app/jobs/decidim/export_job.rb,
app/jobs/decidim/metric_job.rb,
app/models/decidim/category.rb,
app/models/decidim/identity.rb,
lib/decidim/content_parsers.rb,
lib/decidim/diffy_extension.rb,
lib/decidim/exporters/excel.rb,
lib/decidim/faker/localized.rb,
lib/decidim/fingerprintable.rb,
lib/decidim/has_attachments.rb,
lib/decidim/map/dynamic_map.rb,
lib/decidim/metric_manifest.rb,
lib/decidim/metric_registry.rb,
app/cells/decidim/badge_cell.rb,
app/models/decidim/amendment.rb,
app/models/decidim/area_type.rb,
app/models/decidim/component.rb,
lib/decidim/components/namer.rb,
lib/decidim/data_portability.rb,
lib/decidim/jsonb_attributes.rb,
lib/decidim/map/autocomplete.rb,
lib/decidim/map/provider/osm.rb,
lib/decidim/metric_operation.rb,
lib/decidim/query_extensions.rb,
app/cells/decidim/author_cell.rb,
app/cells/decidim/badges_cell.rb,
app/cells/decidim/card_m_cell.rb,
app/cells/decidim/groups_cell.rb,
app/forms/decidim/follow_form.rb,
app/forms/decidim/report_form.rb,
app/models/decidim/action_log.rb,
app/models/decidim/attachment.rb,
app/models/decidim/moderation.rb,
app/models/decidim/newsletter.rb,
app/models/decidim/scope_type.rb,
app/models/decidim/user_group.rb,
lib/decidim/content_processor.rb,
lib/decidim/content_renderers.rb,
lib/decidim/events/base_event.rb,
lib/decidim/has_private_users.rb,
lib/decidim/manifest_registry.rb,
lib/decidim/map/provider/here.rb,
lib/decidim/resource_manifest.rb,
lib/decidim/scopable_resource.rb,
lib/decidim/settings_manifest.rb,
app/cells/decidim/address_cell.rb,
app/cells/decidim/members_cell.rb,
app/cells/decidim/profile_cell.rb,
app/cells/decidim/version_cell.rb,
app/forms/decidim/account_form.rb,
app/helpers/decidim/map_helper.rb,
app/helpers/decidim/pad_helper.rb,
app/jobs/decidim/open_data_job.rb,
app/models/decidim/endorsement.rb,
app/models/decidim/share_token.rb,
app/models/decidim/static_page.rb,
app/services/decidim/tokenizer.rb,
lib/decidim/component_manifest.rb,
lib/decidim/events/email_event.rb,
lib/decidim/exporters/exporter.rb,
lib/decidim/gamification/badge.rb,
lib/decidim/scopable_component.rb,
app/cells/decidim/activity_cell.rb,
app/cells/decidim/tos_page_cell.rb,
app/helpers/decidim/card_helper.rb,
app/helpers/decidim/icon_helper.rb,
app/helpers/decidim/menu_helper.rb,
app/models/decidim/coauthorship.rb,
app/models/decidim/notification.rb,
app/models/decidim/organization.rb,
lib/decidim/attribute_encryptor.rb,
lib/decidim/events/author_event.rb,
lib/decidim/events/simple_event.rb,
lib/decidim/filter_form_builder.rb,
app/cells/decidim/followers_cell.rb,
app/cells/decidim/following_cell.rb,
app/commands/decidim/invite_user.rb,
app/forms/decidim/amendable/form.rb,
app/helpers/decidim/cells_helper.rb,
app/jobs/decidim/application_job.rb,
app/models/decidim/authorization.rb,
app/models/decidim/content_block.rb,
app/models/decidim/resource_link.rb,
app/types/decidim/core/date_type.rb,
app/types/decidim/core/user_type.rb,
lib/decidim/action_authorization.rb,
lib/decidim/api/author_interface.rb,
lib/decidim/newsletter_encryptor.rb,
lib/decidim/permissions_registry.rb,
lib/decidim/shareable_with_token.rb,
app/cells/decidim/activities_cell.rb,
app/cells/decidim/pad_iframe_cell.rb,
app/forms/decidim/attachment_form.rb,
app/forms/decidim/user_group_form.rb,
app/helpers/decidim/layout_helper.rb,
app/helpers/decidim/markup_helper.rb,
app/helpers/decidim/orders_helper.rb,
app/helpers/decidim/scopes_helper.rb,
app/mailers/decidim/export_mailer.rb,
app/models/decidim/categorization.rb,
app/queries/decidim/metric_manage.rb,
app/services/decidim/traceability.rb,
lib/decidim/events/coauthor_event.rb,
lib/decidim/exporters/export_data.rb,
lib/decidim/organization_settings.rb,
lib/decidim/translatable_resource.rb,
app/cells/decidim/fingerprint_cell.rb,
app/commands/decidim/create_follow.rb,
app/commands/decidim/create_report.rb,
app/commands/decidim/delete_follow.rb,
app/forms/decidim/invite_user_form.rb,
app/helpers/decidim/cookies_helper.rb,
app/helpers/decidim/filters_helper.rb,
app/helpers/decidim/tooltip_helper.rb,
app/queries/decidim/metric_measure.rb,
app/services/decidim/action_logger.rb,
app/types/decidim/core/metric_type.rb,
lib/decidim/api/scopable_interface.rb,
lib/decidim/content_block_manifest.rb,
lib/decidim/content_block_registry.rb,
lib/decidim/fingerprint_calculator.rb,
lib/decidim/has_upload_validations.rb,
lib/decidim/newsletter_participant.rb,
app/cells/decidim/announcement_cell.rb,
app/cells/decidim/progress_bar_cell.rb,
app/cells/decidim/user_profile_cell.rb,
app/commands/decidim/update_account.rb,
app/forms/decidim/registration_form.rb,
app/helpers/decidim/omniauth_helper.rb,
app/helpers/decidim/paginate_helper.rb,
app/helpers/decidim/resource_helper.rb,
app/helpers/decidim/sanitize_helper.rb,
app/helpers/decidim/searches_helper.rb,
app/mailers/decidim/reported_mailer.rb,
app/models/decidim/user_base_entity.rb,
app/permissions/decidim/permissions.rb,
app/services/decidim/events_manager.rb,
app/types/decidim/core/decidim_type.rb,
app/types/decidim/core/hashtag_type.rb,
app/types/decidim/core/session_type.rb,
lib/decidim/api/amendable_interface.rb,
lib/decidim/api/component_interface.rb,
lib/decidim/api/traceable_interface.rb,
lib/decidim/events/user_group_event.rb,
lib/decidim/gamification/base_event.rb,
lib/decidim/has_resource_permission.rb,
lib/decidim/translatable_attributes.rb,
app/cells/decidim/coauthorships_cell.rb,
app/cells/decidim/follow_button_cell.rb,
app/cells/decidim/notifications_cell.rb,
app/cells/decidim/user_activity_cell.rb,
app/cells/decidim/user_timeline_cell.rb,
app/cells/decidim/versions_list_cell.rb,
app/commands/decidim/destroy_account.rb,
app/commands/decidim/gallery_methods.rb,
app/commands/decidim/join_user_group.rb,
app/helpers/decidim/meta_tags_helper.rb,
app/jobs/decidim/event_publisher_job.rb,
app/models/decidim/impersonation_log.rb,
app/models/decidim/messaging/message.rb,
app/models/decidim/messaging/receipt.rb,
app/models/decidim/oauth_application.rb,
app/models/decidim/omniauth_provider.rb,
app/models/decidim/permission_action.rb,
app/models/decidim/static_page_topic.rb,
app/presenters/decidim/nil_presenter.rb,
app/services/decidim/activity_search.rb,
app/services/decidim/resource_search.rb,
app/services/decidim/settings_change.rb,
app/types/decidim/core/area_api_type.rb,
app/types/decidim/core/category_type.rb,
app/uploaders/decidim/image_uploader.rb,
lib/decidim/api/attachable_interface.rb,
lib/decidim/api/authorable_interface.rb,
lib/decidim/api/endorsable_interface.rb,
lib/decidim/api/timestamps_interface.rb,
lib/decidim/file_validator_humanizer.rb,
app/cells/decidim/endorsers_list_cell.rb,
app/cells/decidim/search_results_cell.rb,
app/cells/decidim/version_author_cell.rb,
app/commands/decidim/amendable/accept.rb,
app/commands/decidim/amendable/reject.rb,
app/commands/decidim/endorse_resource.rb,
app/commands/decidim/leave_user_group.rb,
app/forms/decidim/amendable/edit_form.rb,
app/forms/decidim/delete_account_form.rb,
app/forms/decidim/user_interests_form.rb,
app/helpers/decidim/amendments_helper.rb,
app/helpers/decidim/categories_helper.rb,
app/helpers/decidim/cta_button_helper.rb,
app/helpers/decidim/endorsable_helper.rb,
app/helpers/decidim/followable_helper.rb,
app/helpers/decidim/view_hooks_helper.rb,
app/mailers/decidim/newsletter_mailer.rb,
app/models/decidim/application_record.rb,
app/presenters/decidim/area_presenter.rb,
app/presenters/decidim/menu_presenter.rb,
app/presenters/decidim/user_presenter.rb,
app/queries/decidim/public_components.rb,
app/queries/decidim/stats_users_count.rb,
app/types/decidim/core/amendment_type.rb,
app/types/decidim/core/area_type_type.rb,
app/types/decidim/core/component_type.rb,
app/types/decidim/core/date_time_type.rb,
app/types/decidim/core/scope_api_type.rb,
app/types/decidim/core/statistic_type.rb,
app/uploaders/decidim/avatar_uploader.rb,
lib/decidim/api/fingerprint_interface.rb,
lib/decidim/attributes/localized_date.rb,
lib/decidim/attributes/time_with_zone.rb,
lib/decidim/events/notification_event.rb,
lib/decidim/exporters/export_manifest.rb,
lib/decidim/gamification/badge_scorer.rb,
lib/decidim/gamification/badge_status.rb,
lib/decidim/metric_operation_manifest.rb,
app/cells/decidim/profile_sidebar_cell.rb,
app/cells/decidim/translation_bar_cell.rb,
app/commands/decidim/amendable/promote.rb,
app/commands/decidim/create_user_group.rb,
app/commands/decidim/demote_membership.rb,
app/commands/decidim/invite_user_again.rb,
app/commands/decidim/update_user_group.rb,
app/controllers/decidim/tos_controller.rb,
app/helpers/decidim/application_helper.rb,
app/helpers/decidim/attachments_helper.rb,
app/helpers/decidim/newsletters_helper.rb,
app/helpers/decidim/widget_urls_helper.rb,
app/mailers/decidim/application_mailer.rb,
app/models/decidim/resource_permission.rb,
app/models/decidim/searchable_resource.rb,
app/services/decidim/action_authorizer.rb,
app/types/decidim/core/attachment_type.rb,
app/types/decidim/core/base_input_sort.rb,
app/types/decidim/core/user_group_type.rb,
lib/decidim/api/coauthorable_interface.rb,
lib/decidim/authorization_form_builder.rb,
lib/decidim/has_attachment_collections.rb,
lib/decidim/map/provider/geocoding/osm.rb,
app/cells/decidim/collapsible_list_cell.rb,
app/cells/decidim/wizard_step_form_cell.rb,
app/commands/decidim/amendable/withdraw.rb,
app/commands/decidim/attachment_methods.rb,
app/commands/decidim/promote_membership.rb,
app/commands/decidim/unendorse_resource.rb,
app/forms/decidim/amendable/create_form.rb,
app/forms/decidim/amendable/reject_form.rb,
app/forms/decidim/amendable/review_form.rb,
app/helpers/decidim/decidim_form_helper.rb,
app/helpers/decidim/traceability_helper.rb,
app/helpers/decidim/translations_helper.rb,
app/helpers/decidim/user_profile_helper.rb,
app/jobs/decidim/newsletters_opt_in_job.rb,
app/mailers/decidim/notification_mailer.rb,
app/queries/decidim/similar_emendations.rb,
app/resolvers/decidim/hashtags_resolver.rb,
app/services/decidim/base_diff_renderer.rb,
app/services/decidim/open_data_exporter.rb,
app/types/decidim/core/coordinates_type.rb,
app/types/decidim/core/fingerprint_type.rb,
lib/decidim/api/categorizable_interface.rb,
lib/decidim/content_parsers/base_parser.rb,
lib/decidim/content_parsers/link_parser.rb,
lib/decidim/content_parsers/user_parser.rb,
lib/decidim/gamification/badge_registry.rb,
lib/decidim/gamification/level_up_event.rb,
lib/decidim/map/provider/geocoding/here.rb,
lib/decidim/map/provider/static_map/osm.rb,
app/cells/decidim/navbar_admin_link_cell.rb,
app/cells/decidim/user_conversation_cell.rb,
app/commands/decidim/create_registration.rb,
app/controllers/decidim/pages_controller.rb,
app/events/decidim/profile_updated_event.rb,
app/forms/decidim/amendable/promote_form.rb,
app/forms/decidim/amendable/publish_form.rb,
app/forms/decidim/messaging/message_form.rb,
app/helpers/decidim/filter_params_helper.rb,
app/models/decidim/attachment_collection.rb,
app/models/decidim/user_group_membership.rb,
app/presenters/decidim/hashtag_presenter.rb,
app/types/decidim/core/base_input_filter.rb,
app/types/decidim/core/organization_type.rb,
app/uploaders/decidim/open_data_uploader.rb,
lib/decidim/data_portability_serializers.rb,
lib/decidim/map/provider/dynamic_map/osm.rb,
lib/decidim/map/provider/static_map/here.rb,
lib/decidim/participatory_space_manifest.rb,
lib/decidim/scopable_participatory_space.rb,
app/cells/decidim/user_conversations_cell.rb,
app/cells/decidim/versions_list_item_cell.rb,
app/commands/decidim/invite_user_to_group.rb,
app/commands/decidim/unsubscribe_settings.rb,
app/constraints/decidim/current_component.rb,
app/controllers/concerns/decidim/settings.rb,
app/controllers/decidim/errors_controller.rb,
app/controllers/decidim/groups_controller.rb,
app/controllers/decidim/scopes_controller.rb,
app/events/decidim/invited_to_group_event.rb,
app/events/decidim/user_group_admin_event.rb,
app/functions/decidim/core/component_list.rb,
app/helpers/decidim/cells_paginate_helper.rb,
app/helpers/decidim/component_path_helper.rb,
app/mailers/decidim/decidim_devise_mailer.rb,
app/models/decidim/messaging/conversation.rb,
app/presenters/decidim/category_presenter.rb,
app/presenters/decidim/log/base_presenter.rb,
app/presenters/decidim/log/diff_presenter.rb,
app/presenters/decidim/log/user_presenter.rb,
app/scrubbers/decidim/newsletter_scrubber.rb,
app/scrubbers/decidim/user_input_scrubber.rb,
app/services/decidim/home_activity_search.rb,
app/services/decidim/static_map_generator.rb,
app/types/decidim/core/trace_version_type.rb,
app/uploaders/decidim/attachment_uploader.rb,
app/uploaders/decidim/hero_image_uploader.rb,
lib/decidim/map/provider/autocomplete/osm.rb,
lib/decidim/map/provider/dynamic_map/here.rb,
lib/decidim/search_resource_fields_mapper.rb,
app/cells/decidim/collapsible_authors_cell.rb,
app/cells/decidim/content_blocks/hero_cell.rb,
app/cells/decidim/content_blocks/html_cell.rb,
app/cells/decidim/endorsement_buttons_cell.rb,
app/commands/decidim/update_user_interests.rb,
app/controllers/concerns/decidim/flaggable.rb,
app/controllers/concerns/decidim/orderable.rb,
app/controllers/concerns/decidim/paginable.rb,
app/controllers/decidim/account_controller.rb,
app/controllers/decidim/follows_controller.rb,
app/controllers/decidim/locales_controller.rb,
app/controllers/decidim/reports_controller.rb,
app/controllers/decidim/widgets_controller.rb,
app/events/decidim/promoted_to_admin_event.rb,
app/events/decidim/resource_endorsed_event.rb,
app/forms/decidim/user_interest_scope_form.rb,
app/helpers/decidim/contextual_help_helper.rb,
app/helpers/decidim/replace_buttons_helper.rb,
app/models/decidim/contextual_help_section.rb,
app/models/decidim/messaging/participation.rb,
app/presenters/decidim/area_type_presenter.rb,
app/presenters/decidim/log/space_presenter.rb,
app/presenters/decidim/menu_item_presenter.rb,
app/resolvers/decidim/core/metric_resolver.rb,
app/serializers/decidim/importers/importer.rb,
app/types/decidim/core/metric_history_type.rb,
app/uploaders/decidim/application_uploader.rb,
lib/decidim/api/amendable_entity_interface.rb,
lib/decidim/content_parsers/hashtag_parser.rb,
lib/decidim/content_parsers/newline_parser.rb,
lib/decidim/map/provider/autocomplete/here.rb,
app/cells/decidim/content_blocks/stats_cell.rb,
app/cells/decidim/represent_user_group_cell.rb,
app/commands/decidim/amendable/create_draft.rb,
app/commands/decidim/amendable/update_draft.rb,
app/commands/decidim/remove_user_from_group.rb,
app/controllers/decidim/homepage_controller.rb,
app/controllers/decidim/profiles_controller.rb,
app/controllers/decidim/searches_controller.rb,
app/events/decidim/demoted_membership_event.rb,
app/events/decidim/removed_from_group_event.rb,
app/events/decidim/user_group_created_event.rb,
app/events/decidim/user_group_updated_event.rb,
app/forms/decidim/invite_user_to_group_form.rb,
app/functions/decidim/core/user_entity_list.rb,
app/helpers/decidim/check_boxes_tree_helper.rb,
app/helpers/decidim/language_chooser_helper.rb,
app/helpers/decidim/rich_text_editor_helper.rb,
app/jobs/decidim/notification_generator_job.rb,
app/middleware/decidim/current_organization.rb,
app/models/decidim/gamification/badge_score.rb,
app/models/decidim/participatory_space_link.rb,
app/permissions/decidim/default_permissions.rb,
app/presenters/decidim/attachment_presenter.rb,
app/presenters/decidim/home_stats_presenter.rb,
app/presenters/decidim/user_group_presenter.rb,
app/services/decidim/notification_generator.rb,
app/types/decidim/core/component_input_sort.rb,
app/uploaders/decidim/banner_image_uploader.rb,
app/uploaders/decidim/record_image_uploader.rb,
lib/decidim/content_renderers/base_renderer.rb,
lib/decidim/content_renderers/link_renderer.rb,
lib/decidim/content_renderers/user_renderer.rb,
lib/decidim/gamification/badge_earned_event.rb,
app/commands/decidim/accept_group_invitation.rb,
app/commands/decidim/amendable/destroy_draft.rb,
app/commands/decidim/amendable/publish_draft.rb,
app/commands/decidim/reject_group_invitation.rb,
app/controllers/concerns/decidim/user_groups.rb,
app/controllers/decidim/open_data_controller.rb,
app/forms/decidim/omniauth_registration_form.rb,
app/helpers/decidim/humanize_booleans_helper.rb,
app/helpers/decidim/localized_locales_helper.rb,
app/helpers/decidim/resource_versions_helper.rb,
app/jobs/decidim/data_portability_export_job.rb,
app/presenters/decidim/inline_menu_presenter.rb,
app/serializers/decidim/exporters/serializer.rb,
app/types/decidim/core/localized_string_type.rb,
app/types/decidim/core/translated_field_type.rb,
lib/decidim/participatory_space_resourceable.rb,
app/cells/decidim/content_blocks/metrics_cell.rb,
app/cells/decidim/search_results_section_cell.rb,
app/controllers/concerns/decidim/form_factory.rb,
app/controllers/concerns/decidim/payload_info.rb,
app/controllers/concerns/decidim/user_profile.rb,
app/controllers/concerns/decidim/withdrawable.rb,
app/controllers/decidim/static_map_controller.rb,
app/events/decidim/join_request_created_event.rb,
app/events/decidim/welcome_notification_event.rb,
app/forms/decidim/messaging/conversation_form.rb,
app/forms/decidim/notifications_settings_form.rb,
app/functions/decidim/core/user_entity_finder.rb,
app/helpers/decidim/authorization_form_helper.rb,
app/helpers/decidim/resource_reference_helper.rb,
app/jobs/decidim/machine_translation_save_job.rb,
app/mailers/concerns/decidim/localised_mailer.rb,
app/mailers/decidim/newsletters_opt_in_mailer.rb,
app/middleware/decidim/strip_x_forwarded_host.rb,
app/presenters/decidim/log/resource_presenter.rb,
app/types/decidim/core/component_input_filter.rb,
app/types/decidim/core/user_entity_input_sort.rb,
app/uploaders/decidim/homepage_image_uploader.rb,
lib/decidim/api/participatory_space_interface.rb,
lib/decidim/content_parsers/user_group_parser.rb,
app/cells/decidim/content_blocks/sub_hero_cell.rb,
app/controllers/concerns/decidim/safe_redirect.rb,
app/controllers/decidim/application_controller.rb,
app/controllers/decidim/newsletters_controller.rb,
app/events/decidim/join_request_accepted_event.rb,
app/events/decidim/join_request_rejected_event.rb,
app/functions/decidim/core/component_list_base.rb,
app/presenters/decidim/metric_charts_presenter.rb,
app/presenters/decidim/metric_object_presenter.rb,
app/queries/decidim/user_groups/accepted_users.rb,
app/services/decidim/data_portability_exporter.rb,
lib/decidim/content_renderers/hashtag_renderer.rb,
app/controllers/concerns/decidim/needs_snippets.rb,
app/controllers/decidim/endorsements_controller.rb,
app/controllers/decidim/group_admins_controller.rb,
app/helpers/decidim/action_authorization_helper.rb,
app/helpers/decidim/participatory_space_helpers.rb,
app/jobs/decidim/export_participatory_space_job.rb,
app/jobs/decidim/machine_translation_fields_job.rb,
app/presenters/decidim/admin_log/area_presenter.rb,
app/presenters/decidim/admin_log/user_presenter.rb,
app/queries/decidim/metrics/users_metric_manage.rb,
app/services/decidim/participatory_space_search.rb,
app/types/decidim/core/has_localized_input_sort.rb,
app/types/decidim/core/has_timestamp_input_sort.rb,
app/types/decidim/core/participatory_space_type.rb,
app/types/decidim/core/user_entity_input_filter.rb,
app/uploaders/decidim/data_portability_uploader.rb,
app/cells/decidim/newsletter_templates/base_cell.rb,
app/controllers/concerns/decidim/filter_resource.rb,
app/controllers/concerns/decidim/locale_switcher.rb,
app/controllers/decidim/cookie_policy_controller.rb,
app/controllers/decidim/group_invites_controller.rb,
app/controllers/decidim/group_members_controller.rb,
app/controllers/decidim/notifications_controller.rb,
app/controllers/decidim/user_timeline_controller.rb,
app/functions/decidim/core/component_finder_base.rb,
app/helpers/decidim/aria_selected_link_to_helper.rb,
app/permissions/decidim/user_manager_permissions.rb,
app/presenters/decidim/admin_log/scope_presenter.rb,
app/presenters/decidim/official_author_presenter.rb,
app/queries/decidim/messaging/user_conversations.rb,
app/types/decidim/core/has_endorsable_input_sort.rb,
app/uploaders/decidim/organization_logo_uploader.rb,
lib/decidim/participatory_space_context_manifest.rb,
app/cells/decidim/amendable/wizard_step_form_cell.rb,
app/commands/decidim/create_omniauth_registration.rb,
app/commands/decidim/messaging/start_conversation.rb,
app/commands/decidim/multiple_attachments_methods.rb,
app/controllers/concerns/decidim/needs_permission.rb,
app/controllers/decidim/devise/unlocks_controller.rb,
app/controllers/decidim/user_interests_controller.rb,
app/helpers/decidim/messaging/conversation_helper.rb,
app/jobs/decidim/email_notification_generator_job.rb,
app/jobs/decidim/machine_translation_resource_job.rb,
app/mailers/decidim/messaging/conversation_mailer.rb,
app/presenters/decidim/resource_locator_presenter.rb,
app/queries/decidim/user_groups/admin_memberships.rb,
app/services/decidim/email_notification_generator.rb,
app/services/decidim/zip_stream/zip_stream_writer.rb,
app/types/decidim/core/has_localized_input_filter.rb,
app/types/decidim/core/has_publishable_input_sort.rb,
app/types/decidim/core/has_timestamp_input_filter.rb,
lib/decidim/content_renderers/user_group_renderer.rb,
app/cells/decidim/amendable/amend_button_card_cell.rb,
app/commands/decidim/update_notifications_settings.rb,
app/controllers/concerns/decidim/impersonate_users.rb,
app/controllers/decidim/components/base_controller.rb,
app/controllers/decidim/devise/sessions_controller.rb,
app/controllers/decidim/last_activities_controller.rb,
app/controllers/decidim/own_user_groups_controller.rb,
app/controllers/decidim/user_activities_controller.rb,
app/queries/decidim/user_groups/member_memberships.rb,
app/services/decidim/log/diff_changeset_calculator.rb,
app/cells/decidim/content_blocks/last_activity_cell.rb,
app/commands/decidim/accept_user_group_join_request.rb,
app/commands/decidim/reject_user_group_join_request.rb,
app/controllers/concerns/decidim/devise_controllers.rb,
app/controllers/concerns/decidim/needs_organization.rb,
app/controllers/concerns/decidim/needs_tos_accepted.rb,
app/controllers/decidim/data_portability_controller.rb,
app/controllers/decidim/devise/passwords_controller.rb,
app/functions/decidim/core/participatory_space_list.rb,
app/mailers/concerns/decidim/multitenant_asset_host.rb,
app/models/decidim/participatory_space_private_user.rb,
app/queries/decidim/metrics/followers_metric_manage.rb,
app/queries/decidim/user_groups/invited_memberships.rb,
app/types/decidim/core/has_hastaggable_input_filter.rb,
app/types/decidim/core/has_publishable_input_filter.rb,
app/uploaders/decidim/organization_favicon_uploader.rb,
app/cells/decidim/amendable/promote_button_card_cell.rb,
app/cells/decidim/user_group_membership_profile_cell.rb,
app/commands/decidim/messaging/reply_to_conversation.rb,
app/controllers/decidim/doorkeeper/tokens_controller.rb,
app/helpers/concerns/decidim/flash_helper_extensions.rb,
app/presenters/decidim/admin_log/component_presenter.rb,
app/queries/decidim/user_groups/accepted_memberships.rb,
app/queries/decidim/user_groups/accepted_user_groups.rb,
app/types/decidim/core/participatory_space_link_type.rb,
app/uploaders/decidim/official_image_footer_uploader.rb,
app/uploaders/decidim/official_image_header_uploader.rb,
app/cells/decidim/content_blocks/footer_sub_hero_cell.rb,
app/controllers/concerns/decidim/force_authentication.rb,
app/controllers/decidim/devise/invitations_controller.rb,
app/controllers/decidim/newsletters_opt_in_controller.rb,
app/controllers/decidim/user_conversations_controller.rb,
app/functions/decidim/core/needs_api_filter_and_order.rb,
app/functions/decidim/core/participatory_space_finder.rb,
app/presenters/decidim/admin_log/moderation_presenter.rb,
app/presenters/decidim/admin_log/newsletter_presenter.rb,
app/presenters/decidim/admin_log/user_group_presenter.rb,
app/presenters/decidim/log/value_types/area_presenter.rb,
app/presenters/decidim/log/value_types/date_presenter.rb,
app/types/decidim/core/participatory_space_input_sort.rb,
app/uploaders/decidim/oauth_application_logo_uploader.rb,
app/controllers/concerns/decidim/amendments_controller.rb,
app/controllers/concerns/decidim/http_caching_disabler.rb,
app/controllers/concerns/decidim/registers_permissions.rb,
app/controllers/decidim/gamification/badges_controller.rb,
app/presenters/decidim/admin_log/static_page_presenter.rb,
app/presenters/decidim/log/value_types/scope_presenter.rb,
app/queries/decidim/metrics/participants_metric_manage.rb,
app/queries/decidim/user_groups/manageable_user_groups.rb,
app/cells/decidim/user_group_pending_requests_list_cell.rb,
app/controllers/decidim/authorization_modals_controller.rb,
app/controllers/decidim/devise/confirmations_controller.rb,
app/controllers/decidim/devise/registrations_controller.rb,
app/models/decidim/participatory_space_role_config/base.rb,
app/presenters/decidim/admin_log/organization_presenter.rb,
app/presenters/decidim/log/value_types/locale_presenter.rb,
app/types/decidim/core/participatory_space_input_filter.rb,
app/cells/decidim/content_blocks/hero_settings_form_cell.rb,
app/cells/decidim/content_blocks/how_to_participate_cell.rb,
app/cells/decidim/content_blocks/html_settings_form_cell.rb,
app/controllers/decidim/doorkeeper/token_info_controller.rb,
app/functions/decidim/core/participatory_space_list_base.rb,
app/models/decidim/participatory_space_role_config/admin.rb,
app/presenters/decidim/log/value_types/default_presenter.rb,
app/uploaders/decidim/newsletter_template_image_uploader.rb,
app/controllers/decidim/doorkeeper/credentials_controller.rb,
app/controllers/decidim/notifications_settings_controller.rb,
app/jobs/decidim/notification_generator_for_recipient_job.rb,
app/presenters/decidim/log/value_types/currency_presenter.rb,
app/services/decidim/notification_generator_for_recipient.rb,
app/cells/decidim/newsletter_templates/image_text_cta_cell.rb,
app/cells/decidim/user_group_admin_membership_profile_cell.rb,
app/cells/decidim/user_group_pending_invitations_list_cell.rb,
app/controllers/concerns/decidim/resource_versions_concern.rb,
app/controllers/decidim/messaging/conversations_controller.rb,
app/functions/decidim/core/participatory_space_finder_base.rb,
app/presenters/decidim/log/value_types/area_type_presenter.rb,
app/queries/decidim/participatory_processes_with_user_role.rb,
lib/decidim/api/participatory_space_resourceable_interface.rb,
app/cells/decidim/newsletter_templates/basic_only_text_cell.rb,
app/controllers/concerns/decidim/use_organization_time_zone.rb,
app/controllers/decidim/user_group_join_requests_controller.rb,
app/models/decidim/participatory_space_role_config/valuator.rb,
app/presenters/decidim/log/value_types/percentage_presenter.rb,
app/presenters/decidim/log/value_types/scope_type_presenter.rb,
app/controllers/concerns/decidim/participatory_space_context.rb,
app/controllers/decidim/doorkeeper/authorizations_controller.rb,
app/controllers/decidim/group_email_confirmations_controller.rb,
app/models/decidim/participatory_space_role_config/moderator.rb,
app/presenters/decidim/admin_log/oauth_application_presenter.rb,
app/cells/decidim/newsletter_templates/base_settings_form_cell.rb,
app/models/decidim/participatory_space_role_config/null_object.rb,
app/presenters/decidim/admin_log/newsletter_resource_presenter.rb,
app/models/decidim/participatory_space_role_config/collaborator.rb,
app/presenters/decidim/admin_log/static_page_resource_presenter.rb,
app/cells/decidim/content_blocks/highlighted_content_banner_cell.rb,
app/controllers/decidim/devise/omniauth_registrations_controller.rb,
app/presenters/decidim/admin_log/oauth_application_resource_presenter.rb,
app/cells/decidim/newsletter_templates/image_text_cta_settings_form_cell.rb,
app/cells/decidim/newsletter_templates/basic_only_text_settings_form_cell.rb,
app/serializers/decidim/importers/participatory_space_components_importer.rb,
lib/decidim/data_portability_serializers/data_portability_user_serializer.rb,
app/presenters/decidim/admin_log/participatory_space_private_user_presenter.rb,
app/serializers/decidim/exporters/participatory_space_components_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_report_serializer.rb,
app/models/decidim/participatory_space_role_config/participatory_space_admin.rb,
lib/decidim/data_portability_serializers/data_portability_identity_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_user_group_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_conversation_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_notification_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_participatory_space_private_user_serializer.rb

Overview

rubocop:disable Naming/MemoizedInstanceVariableName

Defined Under Namespace

Modules: ActionAuthorization, ActionAuthorizationHelper, ActsAsAuthor, AdminLog, Amendable, AmendmentsHelper, ApplicationHelper, AriaSelectedLinkToHelper, AttachmentMethods, AttachmentsHelper, Attributes, Authorable, AuthorizationFormHelper, CardHelper, CategoriesHelper, CellsHelper, CellsPaginateHelper, CheckBoxesTreeHelper, Coauthorable, ComponentPathHelper, Components, ContentBlocks, ContentParsers, ContentProcessor, ContentRenderers, ContextualHelpHelper, CookiesHelper, Core, CtaButtonHelper, DataPortability, DataPortabilitySerializers, DecidimFormHelper, Deprecations, Devise, DeviseControllers, DiffyExtension, Doorkeeper, Endorsable, EndorsableHelper, Events, Exporters, Faker, FilterParamsHelper, FilterResource, FiltersHelper, Fingerprintable, Flaggable, FlashHelperExtensions, Followable, FollowableHelper, ForceAuthentication, FormFactory, FriendlyDates, GalleryMethods, Gamification, Geocodable, HasAttachmentCollections, HasAttachments, HasCategory, HasComponent, HasPrivateUsers, HasReference, HasResourcePermission, HasSettings, HasUploadValidations, HttpCachingDisabler, HumanizeBooleansHelper, IconHelper, ImpersonateUsers, Importers, IoEncoder, JsonbAttributes, LanguageChooserHelper, LayoutHelper, LocaleSwitcher, LocalisedMailer, LocalizedLocalesHelper, Log, Loggable, Map, MapHelper, MarkupHelper, MenuHelper, Messaging, MetaTagsHelper, Metrics, MultipleAttachmentsMethods, MultitenantAssetHost, NeedsOrganization, NeedsPermission, NeedsSnippets, NeedsTosAccepted, NewsletterParticipant, NewsletterTemplates, NewslettersHelper, Nicknamizable, OmniauthHelper, Orderable, OrdersHelper, PadHelper, Paddable, Paginable, PaginateHelper, Participable, ParticipatorySpaceContext, ParticipatorySpaceHelpers, ParticipatorySpaceResourceable, ParticipatorySpaceRoleConfig, PayloadInfo, Publicable, QueryExtensions, Randomable, RegistersPermissions, ReplaceButtonsHelper, Reportable, ResourceHelper, ResourceReferenceHelper, ResourceVersionsConcern, ResourceVersionsHelper, Resourceable, RichTextEditorHelper, SafeRedirect, SanitizeHelper, Scopable, ScopableComponent, ScopableParticipatorySpace, ScopableResource, ScopesHelper, Searchable, SearchesHelper, Settings, ShareableWithToken, TooltipHelper, TraceabilityHelper, Traceable, TranslatableAttributes, TranslatableResource, TranslationsHelper, UseOrganizationTimeZone, UserGroups, UserProfile, UserProfileHelper, ViewHooksHelper, WidgetUrlsHelper, Withdrawable, ZipStream Classes: AcceptGroupInvitation, AcceptUserGroupJoinRequest, AccountController, AccountForm, ActionAuthorizer, ActionLog, ActionLogger, ActivitiesCell, ActivityCell, ActivitySearch, AddressCell, Amendment, AmendmentsController, AnnouncementCell, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, ApplicationUploader, Area, AreaPresenter, AreaType, AreaTypePresenter, Attachment, AttachmentCollection, AttachmentForm, AttachmentPresenter, AttachmentUploader, AttributeEncryptor, AuthorCell, Authorization, AuthorizationFormBuilder, AuthorizationModalsController, AvatarUploader, BadgeCell, BadgesCell, BannerImageUploader, BaseDiffRenderer, CardCell, CardMCell, Categorization, Category, CategoryPresenter, Coauthorship, CoauthorshipsCell, CollapsibleAuthorsCell, CollapsibleListCell, Component, ComponentManifest, ContentBlock, ContentBlockManifest, ContentBlockRegistry, ContextualHelpSection, CookiePolicyController, CreateFollow, CreateOmniauthRegistration, CreateRegistration, CreateReport, CreateUserGroup, CurrentComponent, CurrentOrganization, DataPortabilityController, DataPortabilityExportJob, DataPortabilityExporter, DataPortabilityUploader, DecidimDeviseMailer, DefaultPermissions, DeleteAccountForm, DeleteFollow, DemoteMembership, DemotedMembershipEvent, DestroyAccount, DiffCell, EmailNotificationGenerator, EmailNotificationGeneratorJob, EndorseResource, Endorsement, EndorsementButtonsCell, EndorsementsController, EndorsersListCell, EngineRouter, ErrorsController, EventPublisherJob, EventsManager, ExportJob, ExportMailer, ExportParticipatorySpaceJob, FileValidatorHumanizer, FileZipper, FilterFormBuilder, FingerprintCalculator, FingerprintCell, Follow, FollowButtonCell, FollowForm, FollowersCell, FollowingCell, FollowsController, Form, FormBuilder, GroupAdminsController, GroupEmailConfirmationsController, GroupInvitesController, GroupMembersController, GroupsCell, GroupsController, Hashtag, HashtagPresenter, HashtagsResolver, HeroImageUploader, HomeActivitySearch, HomeStatsPresenter, HomepageController, HomepageImageUploader, Identity, ImageUploader, ImpersonationLog, InlineMenuPresenter, InvalidOauthSignature, InviteUser, InviteUserAgain, InviteUserForm, InviteUserToGroup, InviteUserToGroupForm, InvitedToGroupEvent, JoinRequestAcceptedEvent, JoinRequestCreatedEvent, JoinRequestRejectedEvent, JoinUserGroup, LastActivitiesController, LeaveUserGroup, LocalesController, MachineTranslationFieldsJob, MachineTranslationResourceJob, MachineTranslationSaveJob, ManifestRegistry, MembersCell, Menu, MenuItem, MenuItemPresenter, MenuPresenter, MenuRegistry, Metric, MetricChartsPresenter, MetricJob, MetricManage, MetricManifest, MetricMeasure, MetricObjectPresenter, MetricOperation, MetricOperationManifest, MetricRegistry, Moderation, NavbarAdminLinkCell, Newsletter, NewsletterEncryptor, NewsletterMailer, NewsletterScrubber, NewsletterTemplateImageUploader, NewslettersController, NewslettersOptInController, NewslettersOptInJob, NewslettersOptInMailer, NilPresenter, Notification, NotificationGenerator, NotificationGeneratorForRecipient, NotificationGeneratorForRecipientJob, NotificationGeneratorJob, NotificationMailer, NotificationsCell, NotificationsController, NotificationsSettingsController, NotificationsSettingsForm, OAuthApplication, OAuthApplicationLogoUploader, OfficialAuthorPresenter, OfficialImageFooterUploader, OfficialImageHeaderUploader, OmniauthProvider, OmniauthRegistrationForm, OpenDataController, OpenDataExporter, OpenDataJob, OpenDataUploader, Organization, OrganizationFaviconUploader, OrganizationLogoUploader, OrganizationSettings, OwnUserGroupsController, PadIframeCell, PagesController, ParticipatoryProcessesWithUserRole, ParticipatorySpaceContextManifest, ParticipatorySpaceLink, ParticipatorySpaceManifest, ParticipatorySpacePrivateUser, ParticipatorySpaceSearch, PermissionAction, Permissions, PermissionsRegistry, ProfileCell, ProfileSidebarCell, ProfileUpdatedEvent, ProfilesController, ProgressBarCell, PromoteMembership, PromotedToAdminEvent, PublicComponents, RecordImageUploader, RegistrationForm, RejectGroupInvitation, RejectUserGroupJoinRequest, RemoveUserFromGroup, RemovedFromGroupEvent, Report, ReportForm, ReportedMailer, ReportsController, RepresentUserGroupCell, ResourceEndorsedEvent, ResourceLink, ResourceLocatorPresenter, ResourceManifest, ResourcePermission, ResourceSearch, Scope, ScopeType, ScopesController, Search, SearchResourceFieldsMapper, SearchResultsCell, SearchResultsSectionCell, SearchableResource, SearchesController, SettingsChange, SettingsManifest, ShareToken, SimilarEmendations, Snippets, StaticMapController, StaticMapGenerator, StaticPage, StaticPageTopic, StatsRegistry, StatsUsersCount, StripXForwardedHost, TagsCell, Tokenizer, TosController, TosPageCell, Traceability, TranslationBarCell, UnendorseResource, UnsubscribeSettings, UpdateAccount, UpdateNotificationsSettings, UpdateUserGroup, UpdateUserInterests, User, UserActivitiesController, UserActivityCell, UserBaseEntity, UserConversationCell, UserConversationsCell, UserConversationsController, UserGroup, UserGroupAdminEvent, UserGroupAdminMembershipProfileCell, UserGroupCreatedEvent, UserGroupForm, UserGroupJoinRequestsController, UserGroupMembership, UserGroupMembershipProfileCell, UserGroupPendingInvitationsListCell, UserGroupPendingRequestsListCell, UserGroupPresenter, UserGroupUpdatedEvent, UserInputScrubber, UserInterestScopeForm, UserInterestsController, UserInterestsForm, UserManagerPermissions, UserPresenter, UserProfileCell, UserTimelineCell, UserTimelineController, VersionAuthorCell, VersionCell, VersionsListCell, VersionsListItemCell, ViewHooks, ViewModel, WelcomeNotificationEvent, WidgetsController, WizardStepFormCell

Class Method Summary collapse

Class Method Details

.component_manifestsObject

Public: Finds all registered component manifest’s via the ‘register_component` method.

Returns an Array.



445
446
447
# File 'lib/decidim/core.rb', line 445

def self.component_manifests
  component_registry.manifests
end

.component_registryObject

Public: Stores the registry of components



487
488
489
# File 'lib/decidim/core.rb', line 487

def self.component_registry
  @component_registry ||= ManifestRegistry.new(:components)
end

.content_blocksObject

Public: Stores an instance of ContentBlockRegistry



526
527
528
# File 'lib/decidim/core.rb', line 526

def self.content_blocks
  @content_blocks ||= ContentBlockRegistry.new
end

.find_component_manifest(name) ⇒ Object

Public: Finds a component manifest by the component’s name.

name - The name of the ComponentManifest to find.

Returns a ComponentManifest if found, nil otherwise.



462
463
464
# File 'lib/decidim/core.rb', line 462

def self.find_component_manifest(name)
  component_registry.find(name.to_sym)
end

.find_participatory_space_manifest(name) ⇒ Object

Public: Finds a participatory space manifest by the participatory space’s name.

name - The name of the ParticipatorySpaceManifest to find.

Returns a ParticipatorySpaceManifest if found, nil otherwise.



472
473
474
# File 'lib/decidim/core.rb', line 472

def self.find_participatory_space_manifest(name)
  participatory_space_registry.find(name.to_sym)
end

.find_resource_manifest(resource_name_or_klass) ⇒ Object

Public: Finds a resource manifest by the resource’s name.

resource_name_or_class - The String of the ResourceManifest name or the class of the ResourceManifest model_class to find.

Returns a ResourceManifest if found, nil otherwise.



482
483
484
# File 'lib/decidim/core.rb', line 482

def self.find_resource_manifest(resource_name_or_klass)
  resource_registry.find(resource_name_or_klass)
end

.global_enginesObject

Public: Finds all registered engines via the ‘register_global_engine’ method.

Returns an Array



393
394
395
# File 'lib/decidim/core.rb', line 393

def self.global_engines
  @global_engines ||= {}
end

.machine_translation_service_klassObject



568
569
570
571
572
# File 'lib/decidim/core.rb', line 568

def self.machine_translation_service_klass
  return unless Decidim.enable_machine_translations

  Decidim.machine_translation_service.to_s.safe_constantize
end

Public: Registers configuration for a new or existing menu

name - A string or symbol with the name of the menu &block - A block using the DSL defined in ‘Decidim::MenuItem`



516
517
518
# File 'lib/decidim/core.rb', line 516

def self.menu(name, &block)
  MenuRegistry.register(name.to_sym, &block)
end

.metrics_operationObject

Public: Stores an instance of MetricOperation



541
542
543
# File 'lib/decidim/core.rb', line 541

def self.metrics_operation
  @metrics_operation ||= MetricOperation.new
end

.metrics_registryObject

Public: Stores an instance of MetricRegistry



536
537
538
# File 'lib/decidim/core.rb', line 536

def self.metrics_registry
  @metrics_registry ||= MetricRegistry.new
end

.organization_settings(model) ⇒ Object

Public: Returns the correct settings object for the given organization or the default settings object when the organization cannot be determined. The model to be passed to this method can be any model that responds to the ‘organization` method or the organization itself. If the given model is not an organization or does not respond to the organization method, returns the default organization settings.

model - The target model for which to fetch the settings object, either an

organization or a model responding to the `organization` method.


555
556
557
558
559
560
561
562
563
564
565
566
# File 'lib/decidim/core.rb', line 555

def self.organization_settings(model)
  organization = begin
    if model.is_a?(Decidim::Organization)
      model
    elsif model.respond_to?(:organization)
      model.organization
    end
  end
  return Decidim::OrganizationSettings.defaults unless organization

  Decidim::OrganizationSettings.for(organization)
end

.participatory_space_manifestsObject

Public: Finds all registered participatory space manifest’s via the ‘register_participatory_space` method.

Returns an Array.



453
454
455
# File 'lib/decidim/core.rb', line 453

def self.participatory_space_manifests
  participatory_space_registry.manifests
end

.participatory_space_registryObject

Public: Stores the registry of participatory spaces



492
493
494
# File 'lib/decidim/core.rb', line 492

def self.participatory_space_registry
  @participatory_space_registry ||= ManifestRegistry.new(:participatory_spaces)
end

.permissions_registryObject

Public: Stores the registry for user permissions



502
503
504
# File 'lib/decidim/core.rb', line 502

def self.permissions_registry
  @permissions_registry ||= PermissionsRegistry.new
end

.register_component(name, &block) ⇒ Object

Public: Registers a component, usually held in an external library or in a separate folder in the main repository. Exposes a DSL defined by ‘Decidim::ComponentManifest`.

Component manifests are held in a global registry and are used in all kinds of places to figure out what new components or functionalities the component provides.

name - A Symbol with the component’s unique name.

Returns nothing.



407
408
409
# File 'lib/decidim/core.rb', line 407

def self.register_component(name, &block)
  component_registry.register(name, &block)
end

.register_global_engine(name, engine, options = {}) ⇒ Object

Public: Registers a global engine. This method is intended to be used by component engines that also offer unscoped functionality

name - The name of the engine to register. Should be unique. engine - The engine to register. options - Options to pass to the engine.

:at - The route to mount the engine to.

Returns nothing.



369
370
371
372
373
374
375
376
377
378
# File 'lib/decidim/core.rb', line 369

def self.register_global_engine(name, engine, options = {})
  return if global_engines.has_key?(name)

  options[:at] ||= "/#{name}"

  global_engines[name.to_sym] = {
    at: options[:at],
    engine: engine
  }
end

.register_participatory_space(name, &block) ⇒ Object

Public: Registers a participatory space, usually held in an external library or in a separate folder in the main repository. Exposes a DSL defined by ‘Decidim::ParticipatorySpaceManifest`.

Participatory space manifests are held in a global registry and are used in all kinds of places to figure out what new components or functionalities the participatory space provides.

name - A Symbol with the participatory space’s unique name.

Returns nothing.



422
423
424
# File 'lib/decidim/core.rb', line 422

def self.register_participatory_space(name, &block)
  participatory_space_registry.register(name, &block)
end

.register_resource(name, &block) ⇒ Object

Public: Registers a resource.

Returns nothing.



429
430
431
# File 'lib/decidim/core.rb', line 429

def self.register_resource(name, &block)
  resource_registry.register(name, &block)
end

.resource_manifestsObject

Public: Finds all registered resource manifests via the ‘register_component` method.

Returns an Array.



437
438
439
# File 'lib/decidim/core.rb', line 437

def self.resource_manifests
  resource_registry.manifests
end

.resource_registryObject

Public: Stores the registry of resource spaces



497
498
499
# File 'lib/decidim/core.rb', line 497

def self.resource_registry
  @resource_registry ||= ManifestRegistry.new(:resources)
end

.seed!Object

Loads seeds from all engines.



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/decidim/core.rb', line 98

def self.seed!
  # Faker needs to have the `:en` locale in order to work properly, so we
  # must enforce it during the seeds.
  original_locale = I18n.available_locales
  I18n.available_locales = original_locale + [:en] unless original_locale.include?(:en)

  Rails.application.railties.to_a.uniq.each do |railtie|
    next unless railtie.respond_to?(:load_seed) && railtie.class.name.include?("Decidim::")

    railtie.load_seed
  end

  participatory_space_manifests.each do |manifest|
    manifest.seed!

    Organization.all.each do |organization|
      ContextualHelpSection.set_content(
        organization,
        manifest.name,
        Decidim::Faker::Localized.wrapped("<p>", "</p>") do
          Decidim::Faker::Localized.sentence(15)
        end
      )
    end
  end

  Gamification.badges.each do |badge|
    puts "Setting random values for the \"#{badge.name}\" badge..."
    User.all.find_each do |user|
      Gamification::BadgeScore.find_or_create_by!(
        user: user,
        badge_name: badge.name,
        value: Random.rand(0...20)
      )
    end
  end

  I18n.available_locales = original_locale
end

.statsObject

Public: Stores an instance of StatsRegistry



507
508
509
# File 'lib/decidim/core.rb', line 507

def self.stats
  @stats ||= StatsRegistry.new
end

.traceabilityObject

Public: Stores an instance of Traceability



531
532
533
# File 'lib/decidim/core.rb', line 531

def self.traceability
  @traceability ||= Traceability.new
end

.unregister_global_engine(name) ⇒ Object

Semiprivate: Removes a global engine from the registry. Mostly used on testing, no real reason to use this on production.

name - The name of the global engine to remove.

Returns nothing.



386
387
388
# File 'lib/decidim/core.rb', line 386

def self.unregister_global_engine(name)
  global_engines.delete(name.to_sym)
end

.view_hooksObject

Public: Stores an instance of ViewHooks



521
522
523
# File 'lib/decidim/core.rb', line 521

def self.view_hooks
  @view_hooks ||= ViewHooks.new
end