Module: SolidLog::UI::DashboardHelper
- Defined in:
- app/helpers/solid_log/ui/dashboard_helper.rb
Instance Method Summary collapse
- #format_count(count) ⇒ Object
- #format_percentage(numerator, denominator) ⇒ Object
- #health_status_badge(unparsed_count) ⇒ Object
- #time_ago_or_never(time) ⇒ Object
- #trend_indicator(current, previous) ⇒ Object
Instance Method Details
#format_count(count) ⇒ Object
4 5 6 |
# File 'app/helpers/solid_log/ui/dashboard_helper.rb', line 4 def format_count(count) number_with_delimiter(count || 0) end |
#format_percentage(numerator, denominator) ⇒ Object
8 9 10 11 12 13 |
# File 'app/helpers/solid_log/ui/dashboard_helper.rb', line 8 def format_percentage(numerator, denominator) return "0%" if denominator.nil? || denominator.zero? percentage = (numerator.to_f / denominator * 100).round(1) "#{percentage}%" end |
#health_status_badge(unparsed_count) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/helpers/solid_log/ui/dashboard_helper.rb', line 33 def health_status_badge(unparsed_count) if unparsed_count == 0 content_tag(:span, "Healthy", class: "badge badge-success") elsif unparsed_count < 100 content_tag(:span, "OK", class: "badge badge-info") elsif unparsed_count < 1000 content_tag(:span, "Warning", class: "badge badge-warning") else content_tag(:span, "Backlog", class: "badge badge-danger") end end |
#time_ago_or_never(time) ⇒ Object
29 30 31 |
# File 'app/helpers/solid_log/ui/dashboard_helper.rb', line 29 def time_ago_or_never(time) time ? time_ago_in_words(time) + " ago" : "Never" end |
#trend_indicator(current, previous) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/helpers/solid_log/ui/dashboard_helper.rb', line 15 def trend_indicator(current, previous) return "" if previous.nil? || previous.zero? change = ((current - previous).to_f / previous * 100).round(1) if change > 0 content_tag(:span, "+#{change}%", class: "trend-up") elsif change < 0 content_tag(:span, "#{change}%", class: "trend-down") else content_tag(:span, "0%", class: "trend-neutral") end end |