Sha256: 17aefc541e73460f57cb2bff613aa89b050f2e8d0ce23f185d8237694dd944f1

Contents?: true

Size: 1.73 KB

Versions: 1

Compression:

Stored size: 1.73 KB

Contents

module PostalMethods
  
  module SendLetter
    
    def send_letter(doc, description, work_mode = "")
      raise PostalMethods::NoPreparationException unless self.prepared 
      ## push a letter over the api
            
      self.document = doc
      rv = @rpc_driver.sendLetterV2(:Username => self.username, :Password => self.password, :FileExtension => self.document[:extension], 
                                  :FileBinaryData => self.document[:bytes], :MyDescription => description, :WorkMode => self.work_mode)
      
      status_code = rv.sendLetterV2Result.to_i
      
      if status_code > 0
        return status_code
      elsif API_STATUS_CODES.has_key?(status_code)
        instance_eval("raise APIStatusCode#{status_code.to_s.gsub(/( |\-)/,'')}Exception")
      end
    end
    
    def send_letter_with_address(doc, description, address)
      raise PostalMethods::NoPreparationException unless self.prepared 
      raise PostalMethods::AddressNotHashException unless (address.class == Hash)
      
      ## setup the document
      self.document = doc

      opts = {:Username => self.username, :Password => self.password, :FileExtension => self.document[:extension], 
                                  :FileBinaryData => self.document[:bytes], :MyDescription => description, :WorkMode => self.work_mode}
                                  
      opts.merge!(address)

      ## push a letter over the api
      rv = @rpc_driver.sendLetterAndAddressV2(opts)
      status_code = rv.sendLetterAndAddressV2Result.to_i
      
      if status_code > 0
        return status_code
      elsif API_STATUS_CODES.has_key?(status_code)
        instance_eval("raise APIStatusCode#{status_code.to_s.gsub(/( |\-)/,'')}Exception")
      end
    end

  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
postalmethods-1.1.1 lib/postalmethods/send_letter.rb