Class: Decidim::ContentBlocks::HighlightedElementsCell
- Inherits:
-
ViewModel
- Object
- ViewModel
- Decidim::ContentBlocks::HighlightedElementsCell
show all
- Includes:
- Decidim::CardHelper
- Defined in:
- decidim-core/app/cells/decidim/content_blocks/highlighted_elements_cell.rb
Instance Method Summary
collapse
#card_for
Instance Method Details
#base_relation ⇒ Object
17
18
19
|
# File 'decidim-core/app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 17
def base_relation
raise "Please, overwrite this method. Inheriting classes should define their own base relation"
end
|
#block_id ⇒ Object
36
37
38
|
# File 'decidim-core/app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 36
def block_id
"#{model.scope_name}-#{model.manifest_name}".parameterize.gsub("_", "-")
end
|
#elements ⇒ Object
8
9
10
11
12
13
14
15
|
# File 'decidim-core/app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 8
def elements
@elements ||= case model.settings.order
when "recent"
base_relation.order_by_most_recent
else
base_relation.order_randomly(random_seed)
end.limit(limit)
end
|
#published_components ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'decidim-core/app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 27
def published_components
@published_components ||= if model.scope_name == "participatory_process_group_homepage"
group = Decidim::ParticipatoryProcessGroup.find(model.scoped_resource_id)
Decidim::Component.where(participatory_space: group.participatory_processes).published
else
Decidim::Component.none
end
end
|
#show ⇒ Object
21
22
23
24
25
|
# File 'decidim-core/app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 21
def show
return if elements.blank?
render
end
|