Sha256: 041c544df07bcf2c3f2be95112bd42802cbe6d2af8c7872e6acb7522cabf1697

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

require_relative 'models/model_base'
require_relative 'utils/requestor'
require 'base64'

module CorePro
  class CustomerDocument < Models::ModelBase

    attr_accessor :customerId
    attr_accessor :documentType
    attr_accessor :documentName
    attr_accessor :documentContent
    attr_accessor :reasonType

    def self.upload(customerId, documentType, documentName, documentContent, reasonType, connection = nil, loggingObject = nil)
      cd = CustomerDocument.new
      cd.customerId = customerId
      cd.documentType = documentType
      cd.documentName = documentName
      cd.documentContent = documentContent
      cd.reasonType = reasonType
      cd.upload connection, loggingObject
    end

    def upload(connection = nil, loggingObject = nil)
      # NOTE: documentContent is assumed to be raw content bytes.
      #       corepro API expects base64 encoded string. so we convert that here.
      bytes = Base64.encode64(self.documentContent)
      self.documentContent = bytes

      connection ||= Connection.createFromConfig()
      CorePro::Utils::Requestor.post('/customerdocument/upload', nil, self, connection, loggingObject)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
corepro-0.0.6 lib/corepro/customer_document.rb