Class: Decidim::Solutions::SolutionPresenter
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Decidim::Solutions::SolutionPresenter
- Includes:
- ActionView::Helpers::UrlHelper, Decidim::SanitizeHelper, TranslatableAttributes
- Defined in:
- app/presenters/decidim/solutions/solution_presenter.rb
Overview
Decorator for solution
Instance Method Summary collapse
-
#beneficiaries(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution beneficiaries.
-
#description(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution description.
- #display_mention ⇒ Object
-
#financing_type(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution financing_type.
- #id_and_title(links: false, extras: true, html_escape: false) ⇒ Object
-
#indicators(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution indicators.
-
#objectives(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution objectives.
-
#requirements(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution requirements.
- #resource_manifest ⇒ Object
- #solution ⇒ Object
- #solution_path ⇒ Object
-
#title(links: false, extras: true, html_escape: false) ⇒ Object
Render the solution title.
Instance Method Details
#beneficiaries(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution beneficiaries
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
86 87 88 89 90 91 92 93 94 95 96 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 86 def beneficiaries(links: false, extras: true, strip_tags: false) text = translated_attribute(solution.beneficiaries) text = (sanitize_text(text)) if renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) text = renderer.render(links:, extras:).html_safe text = Decidim::ContentRenderers::LinkRenderer.new(text).render if links text end |
#description(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution description
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 50 def description(links: false, extras: true, strip_tags: false) text = translated_attribute(solution.description) text = (sanitize_text(text)) if renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) text = renderer.render(links:, extras:).html_safe text = Decidim::ContentRenderers::LinkRenderer.new(text).render if links text end |
#display_mention ⇒ Object
22 23 24 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 22 def display_mention link_to title, solution_path end |
#financing_type(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution financing_type
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
122 123 124 125 126 127 128 129 130 131 132 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 122 def financing_type(links: false, extras: true, strip_tags: false) text = translated_attribute(solution.financing_type) text = (sanitize_text(text)) if renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) text = renderer.render(links:, extras:).html_safe text = Decidim::ContentRenderers::LinkRenderer.new(text).render if links text end |
#id_and_title(links: false, extras: true, html_escape: false) ⇒ Object
40 41 42 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 40 def id_and_title(links: false, extras: true, html_escape: false) "##{solution.id} - #{title(links:, extras:, html_escape:)}" end |
#indicators(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution indicators
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 68 def indicators(links: false, extras: true, strip_tags: false) text = translated_attribute(solution.indicators) text = (sanitize_text(text)) if renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) text = renderer.render(links:, extras:).html_safe text = Decidim::ContentRenderers::LinkRenderer.new(text).render if links text end |
#objectives(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution objectives
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
140 141 142 143 144 145 146 147 148 149 150 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 140 def objectives(links: false, extras: true, strip_tags: false) text = translated_attribute(solution.objectives) text = (sanitize_text(text)) if renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) text = renderer.render(links:, extras:).html_safe text = Decidim::ContentRenderers::LinkRenderer.new(text).render if links text end |
#requirements(links: false, extras: true, strip_tags: false) ⇒ Object
Render the solution requirements
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
104 105 106 107 108 109 110 111 112 113 114 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 104 def requirements(links: false, extras: true, strip_tags: false) text = translated_attribute(solution.requirements) text = (sanitize_text(text)) if renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) text = renderer.render(links:, extras:).html_safe text = Decidim::ContentRenderers::LinkRenderer.new(text).render if links text end |
#resource_manifest ⇒ Object
154 155 156 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 154 def resource_manifest solution.class.resource_manifest end |
#solution ⇒ Object
14 15 16 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 14 def solution __getobj__ end |
#solution_path ⇒ Object
18 19 20 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 18 def solution_path Decidim::ResourceLocatorPresenter.new(solution).path end |
#title(links: false, extras: true, html_escape: false) ⇒ Object
Render the solution title
links - should render hashtags as links? extras - should include extra hashtags?
Returns a String.
32 33 34 35 36 37 38 |
# File 'app/presenters/decidim/solutions/solution_presenter.rb', line 32 def title(links: false, extras: true, html_escape: false) text = translated_attribute(solution.title) text = decidim_html_escape(text) if html_escape renderer = Decidim::ContentRenderers::HashtagRenderer.new(text) renderer.render(links:, extras:).html_safe end |