Class: DocFox::Document::UploadService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/doc_fox/document/upload_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(evidence_submission_id:, data:) ⇒ UploadService

Returns a new instance of UploadService.



12
13
14
15
# File 'lib/doc_fox/document/upload_service.rb', line 12

def initialize(evidence_submission_id:, data:)
  @evidence_submission_id = evidence_submission_id
  @data                   = data
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



4
5
6
# File 'lib/doc_fox/document/upload_service.rb', line 4

def data
  @data
end

#evidence_submission_idObject (readonly)

Returns the value of attribute evidence_submission_id.



4
5
6
# File 'lib/doc_fox/document/upload_service.rb', line 4

def evidence_submission_id
  @evidence_submission_id
end

Instance Method Details

#callObject

Upload a document file.

https://www.docfoxapp.com/api/v2/documentation#tag/Document-Uploads/paths/~1api~1v2~1evidence_submissions~1%7Bevidence_submission_id%7D~1documents/post

Examples

service = DocFox::Document::UploadService.call(
evidence_submission_id: '',
data: {
  type: 'document',
  attributes: {
    evidence_type: 'taxes_paid_in_prior_quarter',
    filename: 'taxes_paid.png',
    document_data: "data:image/png;base64,#{Base64.encode64(File.read('/path/to/taxes_paid.png'))}"
  }
}
)

service.success? # => true
service.errors # => #<ActiveModel::Errors []>

service.response # => #<Faraday::Response ...>
service.response.status # => 201
service.response.body # => {}

service.facade # => #<DocFox::Document::Facade ...>
service.facade.id
service.id

POST /api/v2/evidence_submissions/:evidence_submission_id/documents



47
48
49
# File 'lib/doc_fox/document/upload_service.rb', line 47

def call
  connection.post("evidence_submissions/#{evidence_submission_id}/documents", **params)
end