Sha256: 4ba85cba567030c78d3b5b663ce8c6a9cb5050a8772a703498dd6961e8818e7b

Contents?: true

Size: 867 Bytes

Versions: 17

Compression:

Stored size: 867 Bytes

Contents

# frozen_string_literal: true

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

17 entries across 17 versions & 1 rubygems

Version Path
chutney-3.10.0 lib/chutney/issue.rb
chutney-3.9.0 lib/chutney/issue.rb
chutney-3.8.2 lib/chutney/issue.rb
chutney-3.8.1 lib/chutney/issue.rb
chutney-3.8.0 lib/chutney/issue.rb
chutney-3.7.0 lib/chutney/issue.rb
chutney-3.6.0 lib/chutney/issue.rb
chutney-3.5.0 lib/chutney/issue.rb
chutney-3.3.0 lib/chutney/issue.rb
chutney-3.2.1 lib/chutney/issue.rb
chutney-3.2.0 lib/chutney/issue.rb
chutney-3.1.1 lib/chutney/issue.rb
chutney-3.1.0 lib/chutney/issue.rb
chutney-3.0.1 lib/chutney/issue.rb
chutney-3.0.0 lib/chutney/issue.rb
chutney-3.0.0.beta.2 lib/chutney/issue.rb
chutney-3.0.0.beta.1 lib/chutney/issue.rb