Class: GdocTransReader
- Inherits:
-
Object
- Object
- GdocTransReader
- Defined in:
- lib/transync/gdoc_trans/gdoc_trans_reader.rb
Instance Attribute Summary collapse
-
#worksheet ⇒ Object
Returns the value of attribute worksheet.
Instance Method Summary collapse
- #build_trans_hash(language = 'en') ⇒ Object
-
#initialize(gdoc_access, tab) ⇒ GdocTransReader
constructor
A new instance of GdocTransReader.
Constructor Details
#initialize(gdoc_access, tab) ⇒ GdocTransReader
Returns a new instance of GdocTransReader.
7 8 9 10 11 12 13 14 |
# File 'lib/transync/gdoc_trans/gdoc_trans_reader.rb', line 7 def initialize(gdoc_access, tab) session = GoogleDrive.login(gdoc_access['email'], gdoc_access['password']) worksheet_tabs = session.spreadsheet_by_key(gdoc_access['key']).worksheets # select the right tab from worksheet self.worksheet = worksheet_tabs.detect{ |w| w.title == tab } abort("#{tab} tab is not defined in GDoc") if self.worksheet.nil? end |
Instance Attribute Details
#worksheet ⇒ Object
Returns the value of attribute worksheet.
5 6 7 |
# File 'lib/transync/gdoc_trans/gdoc_trans_reader.rb', line 5 def worksheet @worksheet end |
Instance Method Details
#build_trans_hash(language = 'en') ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/transync/gdoc_trans/gdoc_trans_reader.rb', line 16 def build_trans_hash(language = 'en') trans_hash = { title: worksheet.title, language: language, translations: [] } key_column = GdocTrans::WORKSHEET_COLUMNS[:key] language_column = GdocTrans::WORKSHEET_COLUMNS[language.to_sym] (GdocTrans::START_ROW..worksheet.num_rows).to_a.each do |row| translation = { key: worksheet[row, key_column], value: worksheet[row, language_column] } trans_hash[:translations] << translation end trans_hash end |