Google Spreadsheet & Rails

  • Published on
    11-Jul-2015

  • View
    1.192

  • Download
    0

Embed Size (px)

Transcript

<ul><li><p>Google Spreadsheet on Rails</p><p>Jan Filipowski (Arkency)</p><p>13 lipca 2010</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>5 Whys</p><p>I zmiana wielu pl za jednym klikniciemI korzystanie z gotowych funkcji GSI przerzucenie UI do GSI ludzie lubi ExcelaI ...</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>Przykad 1</p><p>Zarzdzanie kolekcjami</p><p>1. tworzymy worksheet ze wszystkimi obiektami</p><p>2. tworzymy worksheet z obiektami kolekcji</p><p>3. copy-paste tych obiektw, ktre chcemy w kolekcji</p><p>4. zapisujemy</p><p>5. importujemy do naszej appki</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>Przykad 2</p><p>Masowa edycja atrybutw</p><p>1. tworzymy worksheet z obiektami kolekcji</p><p>2. edytujemy wszystkie atrybuty, ktre chcemy</p><p>3. zapisujemy</p><p>4. importujemy do appki</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>Gem</p><p>google-spreadsheet-ruby (github)</p><p>I autoryzacja login-haso lub OAuthI tworzenie spreadsheetI dostp do wszystkich worksheetw przez numerI dostp do pl - wierszami bd komrkamiI zapis na danie</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>Samo micho</p><p>s e s s i o n = G o o g l e S p r e a d s h e e t . l o g i n ( yashke , kaka )</p><p>s p r e a d s h e e t = s e s s i o n . s p r e a d s h e e t b y k e y ( ew32das321 )</p><p>ws = s p r e a d s h e e t . w o r k s h e e t s [ 0 ]ws . rows#=&gt; [ [ xx , yy ] , [ bb , dd ] ]ws [ 2 , 1 ]#=&gt; bb</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>Rails Way</p><p>model Spreadsheet</p><p>I inicjalizacja poczeniaI metoda fill in do wypeniania worksheetwI metoda get ids do wczytywania kolekcjiI metoda get objects do wczytywania penych obiektw kolekcji</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>fill in</p><p>d e f f i l l i n ( ws name , c o l l e c t i o n , h e a d e r s )ws = g e t w o r k s h e e t ( ws name )h e a d e r s . e a c h w i t h i n d e x do | h e a d e r p a i r , i |</p><p>ws [ 1 , i +1] = h e a d e r p a i r [ 1 ]endc o l l e c t i o n . e a c h w i t h i n d e x do | member , i n d e x |</p><p>h e a d e r s . e a c h w i t h i n d e x do | h e a d e r p a i r , i |ws [ i n d e x + 2 , i +1] = member . send (</p><p>h e a d e r p a i r [ 0 ] )end</p><p>endws . s a v e</p><p>end</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>get ids</p><p>d e f g e t i d s ( ws name )ws = g e t w o r k s h e e t ( ws name )ws . rows . map{ | x | x [ 0 ] }</p><p>end</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>get objects</p><p>d e f g e t o b j e c t s ( ws name , k l a s s , s e t t e r s )ws = g e t w o r k s h e e t ( ws name )ws . rows . map do | row |</p><p>o b j = k l a s s . f i n d ( row [ 0 ] )s e t t e r s . e a c h w i t h i n d e x do | s e t t e r , i n d e x |</p><p>o b j . send ( s e t t e r . to sym , row [ i n d e x + 1 ] )endo b j</p><p>endend</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li><li><p>Dzikuj</p><p>Kontakttwitter: @janfilipowskiflaker: @januemail: jachuf@gmail.com</p><p>Jan Filipowski (Arkency) Google Spreadsheet on Rails</p></li></ul>