Class: SalesClicExporter::Document::GoogleSpreadsheets
- Defined in:
- lib/sales_clic_exporter/google_spreadsheets.rb
Overview
Describes a Google Spreadsheets document
Constant Summary collapse
- Default_cell_index =
Par défaut on commence à écrire sur la seconde colone. A la différence de Excel, le premier index est 1 (au lieu de 0)
2
- Extension =
Valeur qui va servir dans une route d’un controller à générer un document Google Spreadsheets
'google_spreadsheets'
Instance Method Summary collapse
-
#destroy ⇒ Object
Suppression du document depuis Google Docs (vers la corbeille).
-
#freezepane ⇒ Object
Freezepane factice.
-
#initialize(filename, args = {}) ⇒ GoogleSpreadsheets
constructor
A new instance of GoogleSpreadsheets.
- #key ⇒ Object
-
#newline(size = nil) ⇒ Object
Rajout d’une ligne vide.
-
#permanent_destroy ⇒ Object
Suppression du document depuis Google Docs (PERMANENTE).
-
#save ⇒ Object
Sauvegarde du contenu.
-
#title_1(value) ⇒ Object
On ne définit pas les méthodes title_x comme Spreadsheet ne supporte pas les titres.
- #title_2(value) ⇒ Object
- #title_3(value) ⇒ Object
- #url ⇒ Object
-
#worksheet_name ⇒ Object
Nom de la 1ère worksheet.
-
#worksheet_name=(name) ⇒ Object
Réglage du nom de la 1ère worksheet.
Methods inherited from Base
#h_table, #line, #v_table, #write
Constructor Details
#initialize(filename, args = {}) ⇒ GoogleSpreadsheets
Returns a new instance of GoogleSpreadsheets.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 17 def initialize(filename, args = {}) # Cas username/password if args[:username] && args[:password] @username = args[:username] password = args[:password] @google = GoogleSpreadsheet.login(@username, password) # Token passé en paramètre elsif args[:access_token] token = args[:access_token] @google = GoogleSpreadsheet.login_with_oauth(token) elsif args.blank? @google = GoogleSpreadsheet.saved_session else raise "Erreur lors de l'initialisation du module GoogleSpreadsheets" end @filename = filename || "Export SalesClic" # Google Doc template, that contain styles @template_doc = @google.spreadsheet_by_key(args[:google_doc_template_id]) if args[:google_doc_template_id] # If we can use a template we use it to create the file. Else we just create a new doc @doc = @template_doc ? @template_doc.duplicate(@filename) : @google.create_spreadsheet(@filename) # Ligne en cours d'écriture, afin de récupérer le dernier index écrit @current_row_index = 1 # Attention on démarre à la ligne 1 # Réglage du nom de la première feuille du classeur sheet.title = @filename end |
Instance Method Details
#destroy ⇒ Object
Suppression du document depuis Google Docs (vers la corbeille)
77 78 79 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 77 def destroy @doc.delete end |
#freezepane ⇒ Object
Freezepane factice
67 68 69 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 67 def freezepane self end |
#key ⇒ Object
86 87 88 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 86 def key @doc.key end |
#newline(size = nil) ⇒ Object
Rajout d’une ligne vide
59 60 61 62 63 64 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 59 def newline(size = nil) # Incrémentation du nombre de lignes dans le document @current_row_index += 1 self end |
#permanent_destroy ⇒ Object
Suppression du document depuis Google Docs (PERMANENTE)
82 83 84 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 82 def permanent_destroy @doc.delete(true) end |
#save ⇒ Object
Sauvegarde du contenu
72 73 74 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 72 def save sheet.save end |
#title_1(value) ⇒ Object
On ne définit pas les méthodes title_x comme Spreadsheet ne supporte pas les titres. Chaque méthode va en fait être utilisée comme une simple ligne. Les titres 1 et 2 commencent à la première colone, tandis que le 3 est aligné avec le reste du texte
97 98 99 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 97 def title_1(value) line(value, :index => 1) end |
#title_2(value) ⇒ Object
101 102 103 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 101 def title_2(value) line(value, :index => 1) end |
#title_3(value) ⇒ Object
105 106 107 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 105 def title_3(value) line(value, :index => Default_cell_index) end |
#url ⇒ Object
90 91 92 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 90 def url @doc.human_url end |
#worksheet_name ⇒ Object
Nom de la 1ère worksheet
54 55 56 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 54 def worksheet_name sheet.title end |
#worksheet_name=(name) ⇒ Object
Réglage du nom de la 1ère worksheet
49 50 51 |
# File 'lib/sales_clic_exporter/google_spreadsheets.rb', line 49 def worksheet_name=(name) sheet.title = name end |