© 2013 All rights reserved.
1

Ruby on Rails – Rake

Buildovací systém pro Ruby on Rails, který dokáže ulehčit spousty zbytečné práce.

Buildovací systémy jsou známy spíše z linuxu, kde se hojně využívají (Make). Alternativa pro vývoj v Ruby on Rails a používání při vývoji je přávě Rake.

Stručně si naznačíme co všechno rake dokáže:

  • vytvářet balíčky (gemy)
  • migrovat databázi
  • generovat dokumentaci
  • a mnohé další.

Když napíšu mnohé další, myslím tím opravdu cokoli, co jste schopni si sami napsat.

První rake file

Pokusme se vytvořit si první jednoduchý rake soubor. Ten musíme umístit do adresáře lib/rake s příponou .rake

Tento soubor uložíme jako myrake.rake a můžeme rovnou spustit:

Nyní si ukážeme ještě jeden příklad. Vytvoříme si soubor myrake2.rake který bude obsahovat kód:

Po spuštění zjistíte, že se nejprve volá rake myrake.rake a až poté myrake2.rake. Rake myrake2 je závislý na myrake, a proto vyžaduje jeho spuštění před svým vykonáním.

Seznam: Rake –tasks

Každý rake file, a každá úloha v něm by měla obsahovat popis, co vlastně dělá, a co obsahuje. K tomu slouží příkaž desc, pomocí něhož nadefinujeme popis. Naše dva příklady bychom přepsali:

Po vypsání příkazu rake –tasks dostaneme ve výpisu standartních rake souborů navíc:

Rake namespace

Pokud máme více stejných úkolů, které spolu nějakým způsobem souvisí, je vhodné je umístit do stejného rake souboru. Všechny tyto úkoly uvodíme do společné namespace. Lépe to bude vidět na příkladu:

Pro přístup nyní musíme použít cestu pomocí namespace: rake raketests:myrake

Zajímavé rakes

Rake je pří vývoji v RoR nutné a nezbytené znát. Ulehčíte si tím spousty zbytečné práce a i když si nechcete psát vlastní rake files, tak už samotná instalace jich obsahuje spousty. Všechny si můžete vylistovat právě příkazem rake –tasks. Zde uvedu ty nejzajímavější:

Příkaz Popis
rake db:migrate Provede migrace na databázi
rake db:schema:dump Vytvoří do sobuoru schema.rb schéma celé databáze
rake db:schema:load Načte schéma databáze ze schema.rb
rake db:sessions:clear Vyčistí tabulku session
rake db:db_name:purge Vyprázdní databázi
rake doc:app Vytvoří html soubor s dokumentací
rake log:clear Vyčistí log
rake tmp:clear Vyčistí cache, session, …

Závěrem

Rake je nedílnou součástí vývoje v Ruby on Rails. Minimálně s předdefinovanými rake příkazy se jistě budete setkávat každodenně.

Comments are closed for this page

ahoj, pekne udelane, jen si oprav chybu ve volani prvniho prikladu (testrake -> myrake)

About
Hi, i am programmer from the Czech Republic. I love web development (Ruby, Ruby on Rails, PHP, Nette) and iOS development (Objective-C, Cocoa).
To cooperate, here is my phone:
+420 608 836