Sha256: 27ac2ac6017351baee92531a4ee61420f9091a11b367e5608a667ba368d68abb

Contents?: true

Size: 836 Bytes

Versions: 14

Compression:

Stored size: 836 Bytes

Contents

require 'term/ansicolor'

module Chutney
  # entity value class for issues
  class Issue
    include Term::ANSIColor
    attr_reader :name, :references, :description

    def initialize(name, references, description = nil)
      @name = name
      @references = references
      @description = description
    end
  end

  # entity value class for errors
  class Error < Issue
    def render
      result = red(@name)
      result += " - #{@description}" unless @description.nil?
      result += "\n  " + green(@references.uniq * "\n  ")
      result
    end
  end

  # entity value class for warnings
  class Warning < Issue
    def render
      result = "#{yellow(@name)} (Warning)"
      result += " - #{@description}" unless @description.nil?
      result += "\n  " + green(@references.uniq * "\n  ")
      result
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
chutney-2.2.1 lib/chutney/issue.rb
chutney-2.1.1 lib/chutney/issue.rb
chutney-2.1.0 lib/chutney/issue.rb
chutney-2.0.3.1 lib/chutney/issue.rb
chutney-2.0.3 lib/chutney/issue.rb
chutney-2.0.2 lib/chutney/issue.rb
chutney-2.0.1 lib/chutney/issue.rb
chutney-2.0.0 lib/chutney/issue.rb
chutney-2.0.0.rc1 lib/chutney/issue.rb
chutney-1.6.3 lib/chutney/issue.rb
chutney-1.6.2 lib/chutney/issue.rb
chutney-1.6.1 lib/chutney/issue.rb
chutney-1.6.0 lib/chutney/issue.rb
chutney-0.5.0 lib/chutney/issue.rb