Method: DocumentExporter::Gdoc::Base#export

Defined in:
lib/document_exporter/gdoc/base.rb

#exportObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/document_exporter/gdoc/base.rb', line 41

def export
  file_id = @options[:file_id] || drive_service.file_id
  parent_folder = file_id.blank? ? @options[:folder_id] || drive_service.parent : nil

  file_name = "#{@options[:prefix]}#{document.base_filename}"
  file_params = { name: file_name, mime_type: 'application/vnd.google-apps.document' }
  file_params[:parents] = [parent_folder] if parent_folder.present?
   = Google::Apis::DriveV3::File.new(file_params)

  params = {
    content_type: 'text/html',
    upload_source: StringIO.new(content)
  }.merge(GOOGLE_API_UPLOAD_OPTIONS)

  @id = if file_id.blank?
          drive_service.service.create_file(, params)
        else
          drive_service.service.update_file(file_id, , params)
        end.id

  post_processing

  self
end