Class: Babelish::GoogleDoc
- Inherits:
-
Object
- Object
- Babelish::GoogleDoc
- Defined in:
- lib/babelish/google_doc.rb
Instance Attribute Summary collapse
-
#session ⇒ Object
Returns the value of attribute session.
Instance Method Summary collapse
- #authenticate ⇒ Object
- #download(requested_filename) ⇒ Object
- #download_spreadsheet(requested_filename, output_filename, worksheet_index = 0) ⇒ Object
- #file_with_name(name) ⇒ Object
- #open(requested_filename) ⇒ Object
Instance Attribute Details
#session ⇒ Object
Returns the value of attribute session.
14 15 16 |
# File 'lib/babelish/google_doc.rb', line 14 def session @session end |
Instance Method Details
#authenticate ⇒ Object
44 45 46 47 48 49 50 51 |
# 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) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# 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) ⇒ Object
26 27 28 29 30 31 32 33 |
# 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) ⇒ Object
53 54 55 56 57 58 |
# 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) ⇒ Object
35 36 37 38 39 40 41 42 |
# 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 |