Sha256: e9acb806143ebaa82dff421f36b7daef6c815ce2b89623870ef243aa102dfeb2

Contents?: true

Size: 799 Bytes

Versions: 3

Compression:

Stored size: 799 Bytes

Contents

module Udongo::Redirects
  class StatusBadge
    attr_reader :view

    # TODO: find out why Module.takes does not override in an engine env.
    def initialize(view, redirect)
      @view = view
      @redirect = redirect
    end

    def css_class
      return 'success' if @redirect.working?
      return 'info' if @redirect.working.nil?
      'danger'
    end

    def html(attributes = {})
      attributes.reverse_merge!(class: "badge badge-#{css_class}")
      @view.content_tag(:span, @redirect.status_code, attributes)
    end

    def icon
      return '' unless icon_identifier
      @view.icon(icon_identifier)
    end

    def icon_identifier
      return :question_circle if @redirect.working.nil?
      return :check_circle if @redirect.working?
      :times_circle
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
udongo-7.9.0 lib/udongo/redirects/status_badge.rb
udongo-7.8.1 lib/udongo/redirects/status_badge.rb
udongo-7.8.0 lib/udongo/redirects/status_badge.rb