Class: Copyleaks::CopyleaksExportModel

Inherits:
Object
  • Object
show all
Defined in:
lib/copyleaks/models/exports/export_model.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(completionWebhook, results, crawledVersion, pdfReport = nil, maxRetries = nil, developerPayload = nil, completionWebhookHeaders = nil) ⇒ CopyleaksExportModel

Returns a new instance of CopyleaksExportModel.

Parameters:

  • completionWebhook (String)

    This webhook event is triggered once the export is completed.

  • results (ExportResults[])

    An array of results to be exported. The equivalent of downloading results manually.

  • ExportCrawledVersion (ExportCrawledVersion crawledVersion Download the crawled version of the submitted text. The equivalent of downloading crawled version manually.)

    crawledVersion Download the crawled version of the submitted text. The equivalent of downloading crawled version manually.

  • pdfReport (ExportPdfReport) (defaults to: nil)

    Download the PDF report. Allowed only when ‘properties.pdf.create` was set to true on the scan submission.

  • maxRetries (Integer) (defaults to: nil)

    How many retries to send before giving up. Using high value (12) may lead to a longer time until the completionWebhook being executed. A low value (1) may lead to errors while your service is temporary having problems.

  • developerPayload (String) (defaults to: nil)

    Add a custom developer payload that will then be provided on the Export-Completed webhook. api.copyleaks.com/documentation/v3/webhooks/export-completed

  • completionWebhookHeaders (Array) (defaults to: nil)

    Adds headers to the completion webhook.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/copyleaks/models/exports/export_model.rb', line 35

def initialize(completionWebhook, results, crawledVersion, pdfReport = nil, maxRetries = nil, developerPayload = nil, completionWebhookHeaders = nil)
  unless completionWebhook.instance_of?(String)
    raise 'Copyleaks::CopyleaksExportModel - completionWebhook - completionWebhook must be of type String'
  end

  unless header_format_valid?(completionWebhookHeaders)
    raise 'Copyleaks::CopyleaksExportModel - completionWebhookHeaders - completionWebhookHeaders must be an Array of String Array pairs'
  end

  results.each do |item|
    unless item.instance_of?(ExportResults)
      raise 'Copyleaks::CopyleaksExportModel - results - entity must be of type Copyleaks::ExportResults'
    end
  end

  unless crawledVersion.instance_of?(ExportCrawledVersion)
    raise 'Copyleaks::CopyleaksExportModel - crawledVersion - crawledVersion must be of type Copyleaks::ExportCrawledVersion'
  end

  if !pdfReport.nil? && !pdfReport.instance_of?(ExportPdfReport)
    raise 'Copyleaks::CopyleaksExportModel - pdfReport - pdfReport must be of type Copyleaks::ExportPdfReport'
  end

  if !maxRetries.nil? && !maxRetries.instance_of?(Integer)
    raise 'Copyleaks::CopyleaksExportModel - maxRetries - maxRetries must be of type Integer'
  end

  if !developerPayload.nil? && !developerPayload.instance_of?(String)
    raise 'Copyleaks::CopyleaksExportModel - developerPayload - developerPayload must be of type String'
  end

  @completionWebhook = completionWebhook
  @completionWebhookHeaders = completionWebhookHeaders
  @results = results
  @crawledVersion = crawledVersion
  @pdfReport = pdfReport
  @maxRetries = maxRetries
  @developerPayload = developerPayload
end

Instance Attribute Details

#completionWebhookObject (readonly)

Returns the value of attribute completionWebhook.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def completionWebhook
  @completionWebhook
end

#completionWebhookHeadersObject (readonly)

Returns the value of attribute completionWebhookHeaders.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def completionWebhookHeaders
  @completionWebhookHeaders
end

#crawledVersionObject (readonly)

Returns the value of attribute crawledVersion.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def crawledVersion
  @crawledVersion
end

#developerPayloadObject (readonly)

Returns the value of attribute developerPayload.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def developerPayload
  @developerPayload
end

#maxRetriesObject (readonly)

Returns the value of attribute maxRetries.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def maxRetries
  @maxRetries
end

#pdfReportObject (readonly)

Returns the value of attribute pdfReport.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def pdfReport
  @pdfReport
end

#resultsObject (readonly)

Returns the value of attribute results.



26
27
28
# File 'lib/copyleaks/models/exports/export_model.rb', line 26

def results
  @results
end

Instance Method Details

#as_json(*_args) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/copyleaks/models/exports/export_model.rb', line 75

def as_json(*_args)
  {
    completionWebhook: @completionWebhook,
    completionWebhookHeaders: @completionWebhookHeaders,
    results: @results,
    crawledVersion: @crawledVersion,
    pdfReport: @pdfReport,
    maxRetries: @maxRetries,
    developerPayload: @developerPayload
  }.select { |_k, v| !v.nil? }
end

#to_json(*options) ⇒ Object



87
88
89
# File 'lib/copyleaks/models/exports/export_model.rb', line 87

def to_json(*options)
  as_json(*options).to_json(*options)
end