Class: Copyleaks::CopyleaksFileSubmissionModel

Inherits:
CopyleaksSubmissionModel show all
Defined in:
lib/copyleaks/models/submissions/file_submission_model.rb

Direct Known Subclasses

CopyleaksFileOcrSubmissionModel

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base64, filename, properties) ⇒ CopyleaksFileSubmissionModel

Returns a new instance of CopyleaksFileSubmissionModel.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/copyleaks/models/submissions/file_submission_model.rb', line 31

def initialize(base64, filename, properties)
  unless base64.instance_of?(String)
    raise 'Copyleaks::CopyleaksFileSubmissionModel - base64 - base64 must be of type String'
  end
  unless filename.instance_of?(String)
    raise 'Copyleaks::CopyleaksFileSubmissionModel - filename - filename must be of type String'
  end
  unless properties.instance_of?(SubmissionProperties)
    raise 'Copyleaks::CopyleaksFileSubmissionModel - properties - properties must be of type SubmissionProperties'
  end

  super(properties)
  @base64 = base64
  @filename = filename
end

Instance Attribute Details

#base64 ⇒ Object (readonly)

Parameters:

  • base64 (String) —

    A base64 data string of a file. If you would like to scan plain text, encode it as base64 and submit it.

  • filename (String) —

    The name of the file as it will appear in the Copyleaks scan report Make sure to include the right extension for your filetype.

  • properties (SubmissionProperties) —

    Check inner properties for more details.



29
30
31
# File 'lib/copyleaks/models/submissions/file_submission_model.rb', line 29

def base64
  @base64
end

#filename ⇒ Object (readonly)

Parameters:

  • base64 (String) —

    A base64 data string of a file. If you would like to scan plain text, encode it as base64 and submit it.

  • filename (String) —

    The name of the file as it will appear in the Copyleaks scan report Make sure to include the right extension for your filetype.

  • properties (SubmissionProperties) —

    Check inner properties for more details.



29
30
31
# File 'lib/copyleaks/models/submissions/file_submission_model.rb', line 29

def filename
  @filename
end

#properties ⇒ Object (readonly)

Parameters:

  • base64 (String) —

    A base64 data string of a file. If you would like to scan plain text, encode it as base64 and submit it.

  • filename (String) —

    The name of the file as it will appear in the Copyleaks scan report Make sure to include the right extension for your filetype.

  • properties (SubmissionProperties) —

    Check inner properties for more details.



29
30
31
# File 'lib/copyleaks/models/submissions/file_submission_model.rb', line 29

def properties
  @properties
end

Instance Method Details

#as_json(*_args) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/copyleaks/models/submissions/file_submission_model.rb', line 47

def as_json(*_args)
  {
    base64: @base64,
    filename: @filename,
    properties: @properties
  }.select { |_k, v| !v.nil? }
end

#to_json(*options) ⇒ Object



55
56
57
# File 'lib/copyleaks/models/submissions/file_submission_model.rb', line 55

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