application_helper.rb 1.3 KB
Newer Older
D
Douwe Maan 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
module Ci
  module ApplicationHelper
    def loader_html
      image_tag 'ci/loader.gif', alt: 'Loading'
    end

    def date_from_to(from, to)
      "#{from.to_s(:short)} - #{to.to_s(:short)}"
    end

    def duration_in_words(finished_at, started_at)
      if finished_at && started_at
        interval_in_seconds = finished_at.to_i - started_at.to_i
      elsif started_at
        interval_in_seconds = Time.now.to_i - started_at.to_i
      end

      time_interval_in_words(interval_in_seconds)
    end

    def time_interval_in_words(interval_in_seconds)
      minutes = interval_in_seconds / 60
      seconds = interval_in_seconds - minutes * 60

      if minutes >= 1
        "#{pluralize(minutes, "minute")} #{pluralize(seconds, "second")}"
      else
        "#{pluralize(seconds, "second")}"
      end
    end
D
Dmitriy Zaporozhets 已提交
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

    def ci_icon_for_status(status)
      icon_name =
        case status
        when 'success'
          'check-square'
        when 'failed'
          'close'
        when 'running', 'pending'
          'clock-o'
        else
          'circle'
        end

      icon(icon_name)
    end

    def ci_status_with_icon(status)
      content_tag :span, class: "ci-status ci-#{status}" do
        ci_icon_for_status(status) + ' '.html_safe + status
      end
    end
D
Douwe Maan 已提交
53 54
  end
end