class Hachi::Models::Artifact

Constants

DATA_TYPES

Attributes

data[R]
data_type[R]
message[R]
tags[R]
tlp[R]

Public Class Methods

new(data:, data_type:, message: nil, tlp: nil, tags: nil) click to toggle source
# File lib/hachi/models/artifact.rb, line 10
def initialize(data:, data_type:, message: nil, tlp: nil, tags: nil)
  @data = data
  @data_type = data_type
  @message = message
  @tlp = tlp
  @tags = tags

  raise(ArgumentError, "data is required") unless data
  raise(ArgumentError, "data_type is required") unless data_type
  raise(ArgumentError, "invalid data type") unless DATA_TYPES.include?(data_type)

  validate_tags if tags
  validate_tlp if tlp
end

Public Instance Methods

payload() click to toggle source
# File lib/hachi/models/artifact.rb, line 25
def payload
  {
    data: data,
    dataType: data_type,
    message: message,
    tlp: tlp,
    tags: tags
  }.compact
end
validate_for_creation() click to toggle source
# File lib/hachi/models/artifact.rb, line 35
def validate_for_creation
  raise(ArgumentError, "message or tags is requried for artifact creation") unless message || tags
end