class Commands::UploadTemplate
Uploads a template to the Drive.
Public Class Methods
command_name()
click to toggle source
# File lib/gdsh/upload_template.rb, line 11 def self.command_name 'upload_template' end
function()
click to toggle source
# File lib/gdsh/upload_template.rb, line 15 def self.function 'Uploads a template to the Drive.' end
Public Instance Methods
execute()
click to toggle source
Writes a template file to drive.
# File lib/gdsh/upload_template.rb, line 43 def execute filename = 'document.txt' return unless @client && File.exist?(filename) puts 'Writing template to drive.'.colorize(:green) file = insert_schema('My Document', 'A test document', txt) insert_file(filename, file, txt) end
insert_file(filename, file, mimetype)
click to toggle source
# File lib/gdsh/upload_template.rb, line 27 def insert_file(filename, file, mimetype) drive = @client.discovered_api('drive', 'v2') media = Google::APIClient::UploadIO.new(filename, mimetype) @client.execute( api_method: drive.files.insert, body_object: file, media: media, parameters: { uploadType: 'multipart', convert: 'true', alt: 'json' }) end
insert_schema(title, description, mimetype)
click to toggle source
# File lib/gdsh/upload_template.rb, line 19 def insert_schema(title, description, mimetype) drive = @client.discovered_api('drive', 'v2') drive.files.insert.request_schema.new( title: title, description: description, mimeType: mimetype) end