Module: Decidim

Includes:
ActiveSupport::Configurable
Defined in:
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/scopable.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/followable.rb,
lib/decidim/publicable.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,
app/models/decidim/scope.rb,
lib/decidim/coauthorable.rb,
lib/decidim/core/version.rb,
lib/decidim/form_builder.rb,
lib/decidim/gamification.rb,
lib/decidim/has_category.rb,
lib/decidim/has_settings.rb,
lib/decidim/hashtaggable.rb,
lib/decidim/participable.rb,
lib/decidim/resourceable.rb,
app/models/decidim/follow.rb,
app/models/decidim/report.rb,
lib/decidim/engine_router.rb,
lib/decidim/exporters/csv.rb,
lib/decidim/has_component.rb,
lib/decidim/has_reference.rb,
lib/decidim/menu_registry.rb,
lib/decidim/nicknamizable.rb,
lib/decidim/exporters/json.rb,
lib/decidim/friendly_dates.rb,
lib/decidim/stats_registry.rb,
app/cells/decidim/card_cell.rb,
app/cells/decidim/tags_cell.rb,
app/commands/decidim/search.rb,
app/jobs/decidim/export_job.rb,
app/models/decidim/category.rb,
app/models/decidim/identity.rb,
lib/decidim/content_parsers.rb,
lib/decidim/exporters/excel.rb,
lib/decidim/faker/localized.rb,
lib/decidim/fingerprintable.rb,
lib/decidim/has_attachments.rb,
app/cells/decidim/badge_cell.rb,
app/models/decidim/area_type.rb,
app/models/decidim/component.rb,
lib/decidim/components/namer.rb,
lib/decidim/data_portability.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/toggle_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/resource_manifest.rb,
lib/decidim/settings_manifest.rb,
app/cells/decidim/message_cell.rb,
app/cells/decidim/profile_cell.rb,
app/forms/decidim/account_form.rb,
app/helpers/decidim/map_helper.rb,
app/models/decidim/static_page.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/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/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/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/api/author_interface.rb,
lib/decidim/exporters/serializer.rb,
lib/decidim/newsletter_encryptor.rb,
app/forms/decidim/attachment_form.rb,
app/helpers/decidim/layout_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/services/decidim/traceability.rb,
lib/decidim/events/coauthor_event.rb,
lib/decidim/exporters/export_data.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/invitations_form.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/services/decidim/action_logger.rb,
lib/decidim/api/scopable_interface.rb,
lib/decidim/content_block_manifest.rb,
lib/decidim/content_block_registry.rb,
lib/decidim/fingerprint_calculator.rb,
app/cells/decidim/announcement_cell.rb,
app/cells/decidim/conversation_cell.rb,
app/cells/decidim/progress_bar_cell.rb,
app/cells/decidim/user_profile_cell.rb,
app/commands/decidim/invite_friends.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/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/component_interface.rb,
lib/decidim/gamification/base_event.rb,
lib/decidim/translatable_attributes.rb,
app/cells/decidim/coauthorships_cell.rb,
app/cells/decidim/conversations_cell.rb,
app/cells/decidim/follow_button_cell.rb,
app/cells/decidim/notifications_cell.rb,
app/commands/decidim/destroy_account.rb,
app/helpers/decidim/meta_tags_helper.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/permission_action.rb,
app/services/decidim/resource_search.rb,
app/services/decidim/settings_change.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,
app/forms/decidim/delete_account_form.rb,
app/helpers/decidim/cta_button_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/stats_users_count.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/attributes/time_with_zone.rb,
lib/decidim/events/notification_event.rb,
lib/decidim/gamification/badge_scorer.rb,
lib/decidim/gamification/badge_status.rb,
app/cells/decidim/profile_sidebar_cell.rb,
app/commands/decidim/invite_user_again.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/user_group_type.rb,
lib/decidim/authorization_form_builder.rb,
lib/decidim/components/export_manifest.rb,
lib/decidim/has_attachment_collections.rb,
app/cells/decidim/collapsible_list_cell.rb,
app/cells/decidim/new_conversation_cell.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/resolvers/decidim/hashtags_resolver.rb,
app/types/decidim/core/coordinates_type.rb,
lib/decidim/api/categorizable_interface.rb,
lib/decidim/content_parsers/base_parser.rb,
lib/decidim/content_parsers/user_parser.rb,
lib/decidim/gamification/badge_registry.rb,
lib/decidim/gamification/level_up_event.rb,
app/commands/decidim/create_registration.rb,
app/controllers/decidim/pages_controller.rb,
app/events/decidim/profile_updated_event.rb,
app/forms/decidim/messaging/message_form.rb,
app/models/decidim/attachment_collection.rb,
app/models/decidim/user_group_membership.rb,
app/presenters/decidim/hashtag_presenter.rb,
app/types/decidim/core/organization_type.rb,
lib/decidim/data_portability_file_reader.rb,
lib/decidim/data_portability_file_zipper.rb,
lib/decidim/data_portability_serializers.rb,
lib/decidim/participatory_space_manifest.rb,
app/cells/decidim/invitations_toggle_cell.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/scopes_controller.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/user_input_scrubber.rb,
app/services/decidim/static_map_generator.rb,
app/uploaders/decidim/attachment_uploader.rb,
app/uploaders/decidim/hero_image_uploader.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/conversation_header_cell.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/helpers/decidim/replace_buttons_helper.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/uploaders/decidim/application_uploader.rb,
lib/decidim/content_parsers/hashtag_parser.rb,
app/cells/decidim/content_blocks/stats_cell.rb,
app/controllers/decidim/profiles_controller.rb,
app/controllers/decidim/searches_controller.rb,
app/helpers/decidim/language_chooser_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/home_stats_presenter.rb,
app/presenters/decidim/user_group_presenter.rb,
app/services/decidim/notification_generator.rb,
app/uploaders/decidim/banner_image_uploader.rb,
lib/decidim/content_renderers/base_renderer.rb,
lib/decidim/content_renderers/user_renderer.rb,
lib/decidim/gamification/badge_earned_event.rb,
app/forms/decidim/omniauth_registration_form.rb,
app/helpers/decidim/humanize_booleans_helper.rb,
app/helpers/decidim/localized_locales_helper.rb,
app/jobs/decidim/data_portability_export_job.rb,
app/presenters/decidim/inline_menu_presenter.rb,
app/types/decidim/core/localized_string_type.rb,
app/types/decidim/core/translated_field_type.rb,
lib/decidim/participatory_space_resourceable.rb,
app/controllers/concerns/decidim/form_factory.rb,
app/controllers/concerns/decidim/payload_info.rb,
app/controllers/concerns/decidim/user_profile.rb,
app/controllers/decidim/static_map_controller.rb,
app/forms/decidim/messaging/conversation_form.rb,
app/forms/decidim/notifications_settings_form.rb,
app/helpers/decidim/authorization_form_helper.rb,
app/helpers/decidim/resource_reference_helper.rb,
app/mailers/concerns/decidim/localised_mailer.rb,
app/mailers/decidim/newsletters_opt_in_mailer.rb,
app/presenters/decidim/log/resource_presenter.rb,
app/uploaders/decidim/homepage_image_uploader.rb,
lib/decidim/api/participatory_space_interface.rb,
app/cells/decidim/content_blocks/sub_hero_cell.rb,
app/controllers/decidim/application_controller.rb,
app/controllers/decidim/invitations_controller.rb,
app/controllers/decidim/newsletters_controller.rb,
lib/decidim/content_renderers/hashtag_renderer.rb,
app/helpers/decidim/action_authorization_helper.rb,
app/helpers/decidim/participatory_space_helpers.rb,
app/presenters/decidim/admin_log/area_presenter.rb,
app/presenters/decidim/admin_log/user_presenter.rb,
app/types/decidim/core/participatory_space_type.rb,
app/uploaders/decidim/data_portability_uploader.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/notifications_controller.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/queries/decidim/messaging/user_conversations.rb,
app/uploaders/decidim/organization_logo_uploader.rb,
lib/decidim/participatory_space_context_manifest.rb,
app/commands/decidim/create_omniauth_registration.rb,
app/commands/decidim/messaging/start_conversation.rb,
app/controllers/concerns/decidim/needs_permission.rb,
app/helpers/decidim/messaging/conversation_helper.rb,
app/jobs/decidim/email_notification_generator_job.rb,
app/mailers/decidim/messaging/conversation_mailer.rb,
app/presenters/decidim/resource_locator_presenter.rb,
app/services/decidim/email_notification_generator.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/own_user_groups_controller.rb,
app/models/decidim/participatory_process_user_role.rb,
app/services/decidim/log/diff_changeset_calculator.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/models/decidim/participatory_space_private_user.rb,
app/uploaders/decidim/organization_favicon_uploader.rb,
app/commands/decidim/messaging/reply_to_conversation.rb,
app/controllers/decidim/doorkeeper/tokens_controller.rb,
app/presenters/decidim/admin_log/component_presenter.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/action_authorization.rb,
app/controllers/decidim/devise/invitations_controller.rb,
app/controllers/decidim/newsletters_opt_in_controller.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/uploaders/decidim/oauth_application_logo_uploader.rb,
app/controllers/concerns/decidim/http_caching_disabler.rb,
app/presenters/decidim/admin_log/static_page_presenter.rb,
app/presenters/decidim/log/value_types/scope_presenter.rb,
app/controllers/decidim/authorization_modals_controller.rb,
app/controllers/decidim/devise/confirmations_controller.rb,
app/controllers/decidim/devise/registrations_controller.rb,
app/presenters/decidim/admin_log/organization_presenter.rb,
app/presenters/decidim/log/value_types/locale_presenter.rb,
app/cells/decidim/content_blocks/hero_settings_form_cell.rb,
app/cells/decidim/content_blocks/how_to_participate_cell.rb,
app/controllers/decidim/doorkeeper/token_info_controller.rb,
app/presenters/decidim/log/value_types/default_presenter.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/controllers/decidim/messaging/conversations_controller.rb,
app/presenters/decidim/log/value_types/area_type_presenter.rb,
app/queries/decidim/participatory_processes_with_user_role.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/presenters/decidim/admin_log/oauth_application_presenter.rb,
app/presenters/decidim/admin_log/newsletter_resource_presenter.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,
lib/decidim/data_portability_serializers/data_portability_user_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_follow_serializer.rb,
lib/decidim/data_portability_serializers/data_portability_report_serializer.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, AdminLog, ApplicationHelper, AriaSelectedLinkToHelper, AttachmentsHelper, Attributes, Authorable, AuthorizationFormHelper, CardHelper, CellsHelper, CellsPaginateHelper, Coauthorable, ComponentPathHelper, Components, ContentBlocks, ContentParsers, ContentProcessor, ContentRenderers, CookiesHelper, Core, CtaButtonHelper, DataPortability, DataPortabilitySerializers, DecidimFormHelper, Devise, DeviseControllers, Doorkeeper, Events, Exporters, Faker, FilterResource, FiltersHelper, Fingerprintable, Followable, FormFactory, FriendlyDates, Gamification, HasAttachmentCollections, HasAttachments, HasCategory, HasComponent, HasPrivateUsers, HasReference, HasSettings, Hashtaggable, HttpCachingDisabler, HumanizeBooleansHelper, IconHelper, ImpersonateUsers, LanguageChooserHelper, LayoutHelper, LocaleSwitcher, LocalisedMailer, LocalizedLocalesHelper, Log, Loggable, MapHelper, MenuHelper, Messaging, MetaTagsHelper, NeedsOrganization, NeedsPermission, NeedsTosAccepted, NewslettersHelper, Nicknamizable, OmniauthHelper, OrdersHelper, Paginable, PaginateHelper, Participable, ParticipatorySpaceContext, ParticipatorySpaceHelpers, ParticipatorySpaceResourceable, PayloadInfo, Publicable, QueryExtensions, ReplaceButtonsHelper, Reportable, ResourceHelper, ResourceReferenceHelper, Resourceable, SanitizeHelper, Scopable, ScopableComponent, ScopesHelper, Searchable, SearchesHelper, Settings, TooltipHelper, TraceabilityHelper, Traceable, TranslatableAttributes, TranslationsHelper, UserProfile, UserProfileHelper, ViewHooksHelper, WidgetUrlsHelper Classes: AccountController, AccountForm, ActionAuthorizer, ActionLog, ActionLogger, AnnouncementCell, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, ApplicationUploader, Area, AreaPresenter, AreaType, AreaTypePresenter, Attachment, AttachmentCollection, AttachmentForm, AttachmentUploader, AuthorCell, Authorization, AuthorizationFormBuilder, AuthorizationModalsController, AvatarUploader, BadgeCell, BadgesCell, BannerImageUploader, CardCell, CardMCell, Categorization, Category, CategoryPresenter, Coauthorship, CoauthorshipsCell, CollapsibleAuthorsCell, CollapsibleListCell, Component, ComponentManifest, ContentBlock, ContentBlockManifest, ContentBlockRegistry, ConversationCell, ConversationHeaderCell, ConversationsCell, CookiePolicyController, CreateFollow, CreateOmniauthRegistration, CreateRegistration, CreateReport, CurrentComponent, CurrentOrganization, DataPortabilityController, DataPortabilityExportJob, DataPortabilityFileReader, DataPortabilityFileZipper, DataPortabilityUploader, DecidimDeviseMailer, DefaultPermissions, DeleteAccountForm, DeleteFollow, DestroyAccount, EmailNotificationGenerator, EmailNotificationGeneratorJob, EngineRouter, ErrorsController, EventsManager, ExportJob, ExportMailer, FileZipper, FilterFormBuilder, FingerprintCalculator, FingerprintCell, Follow, FollowButtonCell, FollowForm, FollowersCell, FollowingCell, FollowsController, Form, FormBuilder, Hashtag, HashtagPresenter, HashtagsResolver, HeroImageUploader, HomeStatsPresenter, HomepageImageUploader, Identity, ImageUploader, ImpersonationLog, InlineMenuPresenter, InvalidOauthSignature, InvitationsController, InvitationsForm, InvitationsToggleCell, InviteFriends, InviteUser, InviteUserAgain, InviteUserForm, LocalesController, ManifestRegistry, Menu, MenuItem, MenuItemPresenter, MenuPresenter, MenuRegistry, MessageCell, Moderation, NewConversationCell, Newsletter, NewsletterEncryptor, NewsletterMailer, NewslettersController, NewslettersOptInController, NewslettersOptInJob, NewslettersOptInMailer, Notification, NotificationGenerator, NotificationGeneratorForRecipient, NotificationGeneratorForRecipientJob, NotificationGeneratorJob, NotificationMailer, NotificationsCell, NotificationsController, NotificationsSettingsController, NotificationsSettingsForm, OAuthApplication, OAuthApplicationLogoUploader, OfficialImageFooterUploader, OfficialImageHeaderUploader, OmniauthRegistrationForm, Organization, OrganizationFaviconUploader, OrganizationLogoUploader, OwnUserGroupsController, PagesController, ParticipatoryProcessUserRole, ParticipatoryProcessesWithUserRole, ParticipatorySpaceContextManifest, ParticipatorySpaceLink, ParticipatorySpaceManifest, ParticipatorySpacePrivateUser, PermissionAction, Permissions, ProfileCell, ProfileSidebarCell, ProfileUpdatedEvent, ProfilesController, ProgressBarCell, RegistrationForm, Report, ReportForm, ReportedMailer, ReportsController, ResourceLink, ResourceLocatorPresenter, ResourceManifest, ResourcePermission, ResourceSearch, Scope, ScopeType, ScopesController, Search, SearchResourceFieldsMapper, SearchableResource, SearchesController, SettingsChange, SettingsManifest, StaticMapController, StaticMapGenerator, StaticPage, StatsRegistry, StatsUsersCount, TagsCell, ToggleCell, TosController, TosPageCell, Traceability, UnsubscribeSettings, UpdateAccount, UpdateNotificationsSettings, User, UserGroup, UserGroupMembership, UserGroupPresenter, UserInputScrubber, UserManagerPermissions, UserPresenter, UserProfileCell, ViewHooks, ViewModel, WidgetsController

Class Method Summary collapse

Class Method Details

.component_manifestsObject

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

Returns an Array.



299
300
301
# File 'lib/decidim/core.rb', line 299

def self.component_manifests
  component_registry.manifests
end

.component_registryObject

Public: Stores the registry of components



341
342
343
# File 'lib/decidim/core.rb', line 341

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

.content_blocksObject

Public: Stores an instance of ContentBlockRegistry



375
376
377
# File 'lib/decidim/core.rb', line 375

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.



316
317
318
# File 'lib/decidim/core.rb', line 316

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.



326
327
328
# File 'lib/decidim/core.rb', line 326

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.



336
337
338
# File 'lib/decidim/core.rb', line 336

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



255
256
257
# File 'lib/decidim/core.rb', line 255

def self.global_engines
  @global_engines ||= {}
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`



365
366
367
# File 'lib/decidim/core.rb', line 365

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

.participatory_space_manifestsObject

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

Returns an Array.



307
308
309
# File 'lib/decidim/core.rb', line 307

def self.participatory_space_manifests
  participatory_space_registry.manifests
end

.participatory_space_registryObject

Public: Stores the registry of participatory spaces



346
347
348
# File 'lib/decidim/core.rb', line 346

def self.participatory_space_registry
  @participatory_space_registry ||= ManifestRegistry.new(:participatory_spaces)
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.



269
270
271
# File 'lib/decidim/core.rb', line 269

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.



231
232
233
234
235
236
237
238
239
240
# File 'lib/decidim/core.rb', line 231

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.



284
285
286
# File 'lib/decidim/core.rb', line 284

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.



291
292
293
# File 'lib/decidim/core.rb', line 291

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

.resource_registryObject

Public: Stores the registry of resource spaces



351
352
353
# File 'lib/decidim/core.rb', line 351

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

.seed!Object

Loads seeds from all engines.



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/decidim/core.rb', line 71

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(&:seed!)
  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



356
357
358
# File 'lib/decidim/core.rb', line 356

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

.traceabilityObject

Public: Stores an instance of Traceability



380
381
382
# File 'lib/decidim/core.rb', line 380

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.



248
249
250
# File 'lib/decidim/core.rb', line 248

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

.view_hooksObject

Public: Stores an instance of ViewHooks



370
371
372
# File 'lib/decidim/core.rb', line 370

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