class Babelish::GoogleDoc
Attributes
session[RW]
Public Instance Methods
authenticate()
click to toggle source
# File lib/babelish/google_doc.rb, line 44 def authenticate # will try to get token and store in file below config = GoogleDrive::Config.new(".babelish.token") config.client_id = Babelish::Keys::GOOGLE_DRIVE_CLIENT_ID config.client_secret = Babelish::Keys::GOOGLE_DRIVE_CLIENT_SECRET config.scope = ["https://www.googleapis.com/auth/drive.readonly"] @session = GoogleDrive::Session.from_config(config) end
download(requested_filename)
click to toggle source
# File lib/babelish/google_doc.rb, line 16 def download(requested_filename) file = file_with_name(requested_filename) return [] unless file files = [] file.worksheets.each_with_index do |worksheet, index| files << download_spreadsheet(requested_filename, "translations_#{worksheet.title}.csv", index) end files end
download_spreadsheet(requested_filename, output_filename, worksheet_index = 0)
click to toggle source
# File lib/babelish/google_doc.rb, line 26 def download_spreadsheet(requested_filename, output_filename, worksheet_index = 0) output_filename ||= "translations.csv" spreadsheet = file_with_name(requested_filename) return nil unless spreadsheet worksheet = spreadsheet.worksheets[worksheet_index] worksheet.export_as_file(output_filename) return output_filename end
file_with_name(name)
click to toggle source
# File lib/babelish/google_doc.rb, line 53 def file_with_name(name) unless @session authenticate end @session.file_by_title(name) end
open(requested_filename)
click to toggle source
# File lib/babelish/google_doc.rb, line 35 def open(requested_filename) file = file_with_name(requested_filename) if file system "open \"#{file.human_url}\"" else puts "can't open requested file" end end