class Lt::Lcms::Lesson::Uploader::Gdoc

Public Class Methods

new(credentials) click to toggle source
# File lib/lt/lcms/lesson/uploader/gdoc.rb, line 8
def initialize(credentials)
  @credentials = credentials
end

Public Instance Methods

upload(name, content, content_type, parent_folder_id = nil) click to toggle source
# File lib/lt/lcms/lesson/uploader/gdoc.rb, line 12
def upload(name, content, content_type, parent_folder_id = nil)
  file_metadata = {
    name: name,
    mime_type: Lt::Google::Api::Drive::MIME_FILE
  }
  file_metadata[:parents] = [parent_folder_id] if parent_folder_id.present?
  file = service.create_file(
    file_metadata,
    fields: 'id',
    upload_source: StringIO.new(content),
    content_type: content_type,
    supports_all_drives: true
  )
  file.id
end

Private Instance Methods

service() click to toggle source
# File lib/lt/lcms/lesson/uploader/gdoc.rb, line 30
def service
  @service ||= Lt::Google::Api::Drive.build(@credentials)
end