class Anvil::Vulnerability

Attributes

args[R]
client[R]

Public Class Methods

new(client) click to toggle source
# File lib/anvil/vulnerability.rb, line 5
def initialize(client)
  raise ArgumentError, 'client param must be a Client class' if client.class != Anvil::Client

  @client = client
end

Public Instance Methods

create!(*params) click to toggle source
# File lib/anvil/vulnerability.rb, line 11
def create!(*params)
  params.first[:evidences].each do |archive_path|
    params.first[:vulnerability_archives_attributes] = [{ archive: Faraday::UploadIO.new(archive_path, 'image/png') }]
  end
  params.first.delete(:evidences)

  conn = Faraday.new(url: @client.base_url) do |f|
    f.request :multipart
    f.request :url_encoded
    f.adapter :net_http
  end
  conn.post '/api/v2/vulnerabilities', vulnerability: params.first,
                                       api_key: @client.api_key
end