class Hachi::Models::Case

Attributes

description[R]
flag[R]
owner[R]
severity[R]
start_date[R]
tags[R]
title[R]
tlp[R]

Public Class Methods

new(title:, description:, severity: nil, start_date: nil, owner: nil, flag: nil, tlp: nil, tags: nil) click to toggle source
# File lib/hachi/models/case.rb, line 8
def initialize(title:, description:, severity: nil, start_date: nil, owner: nil, flag: nil, tlp: nil, tags: nil)
  @title = title
  @description = description
  @severity = severity
  @start_date = start_date
  @owner = owner
  @flag = flag
  @tlp = tlp
  @tags = tags

  validate_flag if flag
  validate_severity if severity
  validate_start_date if start_date
  validate_tags if tags
  validate_tlp if tlp
end

Public Instance Methods

payload() click to toggle source
# File lib/hachi/models/case.rb, line 25
def payload
  {
    title: title,
    description: description,
    severity: severity,
    startDate: start_date,
    owner: owner,
    flag: flag,
    tlp: tlp,
    tags: tags
  }.compact
end

Private Instance Methods

validate_flag() click to toggle source
# File lib/hachi/models/case.rb, line 47
def validate_flag
  return true if [true, false].include?(flag)

  raise ArgumentError, "flag should be true or false"
end
validate_start_date() click to toggle source
# File lib/hachi/models/case.rb, line 40
def validate_start_date
  DateTime.parse(start_date)
  true
rescue ArgumentError => _e
  raise ArgumentError, "date should be Date format"
end