Class: Plagscan::Documents
- Inherits:
-
Object
- Object
- Plagscan::Documents
- Defined in:
- lib/plagscan/documents.rb
Overview
PlagScan documents API
Class Method Summary collapse
-
.check(access_token:, document_id:) ⇒ Null
Document create REST API For more details, see api.plagscan.com/v3docs/#api-Document-CheckDocument.
-
.create(access_token:, file: nil, text: nil, **options) ⇒ Hash
Document create REST API Note.
-
.retrieve(access_token:, document_id:, mode:, user_id: nil) ⇒ Hash
Document retrieve REST API For more details, see api.plagscan.com/v3docs/#api-Document-RetrieveDocumentReport.
Class Method Details
.check(access_token:, document_id:) ⇒ Null
Document create REST API For more details, see api.plagscan.com/v3docs/#api-Document-CheckDocument
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/plagscan/documents.rb', line 43 def self.check(access_token:, document_id:) response = Plagscan::Request.request( "documents/#{document_id}/check", method: :put, access_token: access_token ) return if response.is_a? Net::HTTPNoContent = begin JSON.parse(response.body)&.dig('error', 'message') rescue JSON::ParserError nil end raise DocumentError, || response.body end |
.create(access_token:, file: nil, text: nil, **options) ⇒ Hash
Document create REST API Note. you should provide fileUpload OR textdata For more details, see api.plagscan.com/v3docs/#api-Document-SubmitDocument
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/plagscan/documents.rb', line 19 def self.create(access_token:, file: nil, text: nil, **) raise 'must specify file or text' if file.nil? && text.nil? create_props = .delete_if do |k, _| !%i[userID textname toRepository saveOrig].include? k end Plagscan::Request.json_request( 'documents', method: :post, access_token: access_token, expected_result: Net::HTTPCreated, body: create_props.merge(file ? { fileUpload: file } : { textdata: text }), read_timeout: 120 ) end |
.retrieve(access_token:, document_id:, mode:, user_id: nil) ⇒ Hash
Document retrieve REST API For more details, see api.plagscan.com/v3docs/#api-Document-RetrieveDocumentReport
73 74 75 76 77 78 79 80 81 |
# File 'lib/plagscan/documents.rb', line 73 def self.retrieve(access_token:, document_id:, mode:, user_id: nil) params = { mode: mode } params[:userID] = user_id if user_id Plagscan::Request.json_request( "documents/#{document_id}/retrieve", access_token: access_token, body: params ) end |