class CCEngine::Issue

Attributes

categories[R]
check_name[R]
content[R]
description[R]
fingerprint[R]
location[R]
remediation_points[R]

Public Class Methods

new( check_name:, description:, categories:, location:, remediation_points:, content:, fingerprint: ) click to toggle source
# File lib/cc_engine/issue.rb, line 6
def initialize(
  check_name:,
  description:,
  categories:,
  location:,
  remediation_points:,
  content:,
  fingerprint:
)
  @check_name = check_name
  @description = description
  @categories = categories
  @location = location
  @remediation_points = remediation_points
  @content = content
  @fingerprint = fingerprint
end

Public Instance Methods

render() click to toggle source
# File lib/cc_engine/issue.rb, line 24
def render
  to_hash.to_json + "\0"
end
to_hash() click to toggle source
# File lib/cc_engine/issue.rb, line 32
def to_hash
  {
    type: "issue",
    check_name: check_name,
    description: description,
    categories: categories,
    location: location.to_hash
  }.merge(remediation_points_hash).merge(content_hash).merge(fingerprint_hash)
end
to_json() click to toggle source
# File lib/cc_engine/issue.rb, line 28
def to_json
  to_hash.to_json
end

Private Instance Methods

content_hash() click to toggle source
# File lib/cc_engine/issue.rb, line 52
def content_hash
  return {} unless content

  {
    content: {
      body: content
    }
  }
end
fingerprint_hash() click to toggle source
# File lib/cc_engine/issue.rb, line 62
def fingerprint_hash
  return {} unless fingerprint

  {
    fingerprint: fingerprint
  }
end
remediation_points_hash() click to toggle source
# File lib/cc_engine/issue.rb, line 44
def remediation_points_hash
  return {} unless remediation_points

  {
    remediation_points: remediation_points
  }
end