class AsposeWordsCloud::ExecuteMailMergeOnlineRequest
Request model for execute_mail_merge_online operation.
Attributes
The cleanup options.
File with mailmerge data.
The filename of the output document, that will be used when the resulting document has a dynamic field {filename}. If it is not set, the “template” will be used instead.
The flag indicating whether fields in whole document are updated while executing of a mail merge with regions.
Field
options.
File with template.
The flag indicating whether to execute Mail Merge operation with regions.
Public Class Methods
Source
# File lib/aspose_words_cloud/models/requests/execute_mail_merge_online_request.rb, line 63 def initialize(template:, data:, options: nil, with_regions: nil, merge_whole_document: nil, cleanup: nil, document_file_name: nil) self.template = template self.data = data self.options = options self.with_regions = with_regions self.merge_whole_document = merge_whole_document self.cleanup = cleanup self.document_file_name = document_file_name end
Initializes a new instance. @param template File with template. @param data File with mailmerge data. @param options Field
options. @param with_regions
The flag indicating whether to execute Mail Merge operation with regions. @param merge_whole_document
The flag indicating whether fields in whole document are updated while executing of a mail merge with regions. @param cleanup The cleanup options. @param document_file_name
The filename of the output document, that will be used when the resulting document has a dynamic field {filename}. If it is not set, the “template” will be used instead.
Public Instance Methods
Source
# File lib/aspose_words_cloud/models/requests/execute_mail_merge_online_request.rb, line 149 def create_http_request(api_client) # verify the required parameter 'template' is set raise ArgumentError, 'Missing the required parameter template when calling WordsApi.execute_mail_merge_online' if api_client.config.client_side_validation && self.template.nil? # verify the required parameter 'data' is set raise ArgumentError, 'Missing the required parameter data when calling WordsApi.execute_mail_merge_online' if api_client.config.client_side_validation && self.data.nil? self.options&.validate # resource path local_var_path = '/words/MailMerge'[1..-1] local_var_path = local_var_path.sub('//', '/') # query parameters query_params = {} query_params[downcase_first_letter('WithRegions')] = self.with_regions unless self.with_regions.nil? query_params[downcase_first_letter('MergeWholeDocument')] = self.merge_whole_document unless self.merge_whole_document.nil? query_params[downcase_first_letter('Cleanup')] = self.cleanup unless self.cleanup.nil? query_params[downcase_first_letter('DocumentFileName')] = self.document_file_name unless self.document_file_name.nil? # header parameters header_params = {} # HTTP header 'Content-Type' header_params['Content-Type'] = api_client.select_header_content_type(['multipart/form-data']) # form parameters form_params = [] files_content = [] if self.template.nil? raise "Parameter Template is required." end unless self.template.nil? form_params.push({:'Name' => 'template', :'Data' => self.template, :'MimeType' =>'application/octet-stream'}) end if self.data.nil? raise "Parameter Data is required." end unless self.data.nil? form_params.push({:'Name' => 'data', :'Data' => self.data, :'MimeType' =>'application/octet-stream'}) end unless self.options.nil? form_params.push({:'Name' => 'options', :'Data' => self.options.to_body.to_json, :'MimeType' =>'application/json'}) end body = api_client.build_request_body(header_params, form_params, files_content) { 'method': :PUT, 'path': local_var_path, 'header_params': header_params, 'query_params': query_params, 'body': body, 'auth_names': ['JWT'] } end
Source
# File lib/aspose_words_cloud/models/requests/execute_mail_merge_online_request.rb, line 206 def downcase_first_letter(str) str[0].downcase + str[1..-1] end
Helper method to convert first letter to downcase
Source
# File lib/aspose_words_cloud/models/requests/execute_mail_merge_online_request.rb, line 211 def get_response_type 'File' end
Get response type
Source
# File lib/aspose_words_cloud/models/requests/execute_mail_merge_online_request.rb, line 74 def to_batch_part(api_client, requestId, parentRequestId = nil) # verify the required parameter 'template' is set raise ArgumentError, 'Missing the required parameter template when calling WordsApi.execute_mail_merge_online' if api_client.config.client_side_validation && self.template.nil? # verify the required parameter 'data' is set raise ArgumentError, 'Missing the required parameter data when calling WordsApi.execute_mail_merge_online' if api_client.config.client_side_validation && self.data.nil? self.options&.validate # resource path local_var_path = '/words/MailMerge'[7..-1] local_var_path = local_var_path.sub('//', '/') # query parameters query_params = {} query_params[downcase_first_letter('WithRegions')] = self.with_regions unless self.with_regions.nil? query_params[downcase_first_letter('MergeWholeDocument')] = self.merge_whole_document unless self.merge_whole_document.nil? query_params[downcase_first_letter('Cleanup')] = self.cleanup unless self.cleanup.nil? query_params[downcase_first_letter('DocumentFileName')] = self.document_file_name unless self.document_file_name.nil? if query_params query_params.each { |key, value| local_var_path = api_client.add_param_to_query(local_var_path, key, value) } end header_params = {} # header parameters # HTTP header 'Content-Type' header_params['Content-Type'] = api_client.select_header_content_type(['multipart/form-data']) header_params['RequestId'] = requestId if parentRequestId != nil header_params['DependsOn'] = parentRequestId end # form parameters form_params = [] files_content = [] if self.template.nil? raise "Parameter Template is required." end unless self.template.nil? form_params.push({:'Name' => 'template', :'Data' => self.template, :'MimeType' =>'application/octet-stream'}) end if self.data.nil? raise "Parameter Data is required." end unless self.data.nil? form_params.push({:'Name' => 'data', :'Data' => self.data, :'MimeType' =>'application/octet-stream'}) end unless self.options.nil? form_params.push({:'Name' => 'options', :'Data' => self.options.to_body.to_json, :'MimeType' =>'application/json'}) end # http body (model) body = api_client.build_request_body_batch(header_params, form_params, files_content) part = "" part.concat("PUT".force_encoding('UTF-8')) part.concat(" ".force_encoding('UTF-8')) part.concat(local_var_path.force_encoding('UTF-8')) part.concat(" \r\n".force_encoding('UTF-8')) header_params.each_pair {|key, value| part.concat(key.dup.force_encoding('UTF-8') , ": ".force_encoding('UTF-8'), value.dup.force_encoding('UTF-8'), "\r\n".force_encoding('UTF-8')) } part.concat("\r\n".force_encoding('UTF-8')) if body if body.is_a?(Hash) body.each do |key, value| part.concat(value, "\r\n") end else part.concat(body) end end part end
Creating batch part from request