Class: Copyleaks::TextModerationClient

Inherits:
Object
  • Object
show all
Defined in:
lib/copyleaks/text_moderation_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_client) ⇒ TextModerationClient

Returns a new instance of TextModerationClient.



27
28
29
# File 'lib/copyleaks/text_moderation_client.rb', line 27

def initialize(api_client)
  @api_client = api_client
end

Instance Method Details

#submit_text(authToken, scanId, submission) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/copyleaks/text_moderation_client.rb', line 31

def submit_text(authToken, scanId, submission)
  raise 'scanId is Invalid, must be instance of String' if scanId.nil? || !scanId.instance_of?(String)
  raise 'submission is invalid, must be an instance of CopyleaksTextModerationRequestModel' if submission.nil? || !submission.instance_of?(Copyleaks::CopyleaksTextModerationRequestModel)

  ClientUtils.verify_auth_token(authToken)

  path = "/v1/text-moderation/#{scanId}/check"

  headers = {
    'Content-Type' => 'application/json',
    'User-Agent' => Config.user_agent,
    'Authorization' => "Bearer #{authToken.accessToken}"
  }

  request = Net::HTTP::Post.new(path, headers)
  request.body = submission.to_json

  ClientUtils.handle_response(@api_client.request(request), 'submit_text_moderation')
end