Module: ProblemsHelper
- Defined in:
- app/helpers/problems_helper.rb
Instance Method Summary collapse
- #max_problem_severity(problems) ⇒ Object
- #problem_icon(severity) ⇒ Object
- #problem_icon_tag(problems) ⇒ Object
- #problem_severity(problem) ⇒ Object
Instance Method Details
#max_problem_severity(problems) ⇒ Object
6 7 8 9 10 |
# File 'app/helpers/problems_helper.rb', line 6 def max_problem_severity(problems) return nil if problems.empty? severities = problems.select(:category).distinct.map { |p| problem_severity(p) } severities.max_by { |p| Problem::SEVERITIES.find_index(p) } end |
#problem_icon(severity) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'app/helpers/problems_helper.rb', line 12 def problem_icon(severity) case severity when :info "info-circle-fill" when :warning "exclamation-triangle-fill" when :danger "x-octagon-fill" end end |
#problem_icon_tag(problems) ⇒ Object
23 24 25 26 27 |
# File 'app/helpers/problems_helper.rb', line 23 def problem_icon_tag(problems) severity = problems.is_a?(Problem) ? problem_severity(problems) : max_problem_severity(problems) ico = problem_icon(severity) content_tag(:span, Icon(icon: ico, label: t("problems.severities.#{severity}")), class: "text-#{severity} align-middle") if ico # rubocop:todo I18n/RailsI18n/DecorateStringFormattingUsingInterpolation end |
#problem_severity(problem) ⇒ Object
2 3 4 |
# File 'app/helpers/problems_helper.rb', line 2 def problem_severity(problem) current_user&.problem_severity(problem.category) || :silent end |