Lokalizácia Ruby on Rails - helper pluralize

Thursday, April 17. 2008

Helper pluralize(count,singular,plural) je krásny príklad podstaty agilného vývoja. Zjednoší nám výpis správneho tvaru podstatného mena s predchádzajúcou číslovkou. Napríklad kód:

<%= pluralize(count,"vote","votes") %>

nám pod anketou pomôže vypísať 1 vote resp. 2 votes, 3 votes ..atď, v závislosti na hodnote parametra count.

Ak by sme sa ho však pokúsili použiť na slovenskom webe, narazili by sme na záludnosť Slovenčiny - a síce, že podstatné meno za číslovkou sa nedá definovať iba dvoma možnosťami: 

  • 0 osôb
  • 1 osoba
  • 2,3,4 osoby
  • 5,6,7.. osôb

Každopádne nejaký systém v tom určite je a preto ma napadlo preťažiť si tento helper tak, aby som ho mohol využívať aj pri týchto (nielen) slovenských špecifikách. A to všetko pri zachovaní pôvodnej funkcionality pre anglické slová. Stačí do projektového súboru application_helper.rb pridať nasledujúci kód:

module ActionView
module Helpers
module TextHelper
def pluralize(count, singular, plural = nil, even_more = nil)
"#{count || 0} " + if count == 1 || count == '1'
singular
elsif plural
if (count == 2 || count == 3 || count == 4 || count == '2' || count == '3' || count == '4')
plural
elsif even_more
even_more
else
plural
end
elsif Object.const_defined?("Inflector")
Inflector.pluralize(singular)
else
singular + "s"
end
end
end
end
end

Po reštartovaní servera, možeme začať používať helper pluralize s troma parametrami, ktoré nám umožnia dosiahnuť výstup zodpovedajúci slovenským pravopisným pravidlám. Napr.:

Vstávam za <%= pluralize(@count,'hodinu','hodiny','hodín') %>.

Inštalácia GUI (Aptana RadRails) a Hello World!

Saturday, November 17. 2007

Ruby on Rails je pomerne mladý framework a neexistuje veľa vývojových prostredí pre prácu s ním. Niekto preferuje obyčajný textový editor (napr. užívatelia Mac-ov nedajú dopustiť na textový editor TextMate) a prácu s konzolou. My si však vyskúšame prácu s rozvinutým (a takmer plnohodnotným) prostredím pre vývoj RoR aplikácií - rozšírením Eclipse, RadRails.

Prvé čo potrebujeme, je stiahnuť si inštalačný súbor Aptana Studio zo stránky:

http://www.radrails.org/

Inštaláciu prevedieme priamočiaro, spustením inštalačného súboru aptana_studio_setup.exe. Po dokončení inštalácie je potrebné stiahnuť a nainštalovať plugin RadRails. To spravíme nasledovne:
  1. V menu Aptana Studia zvolíme Help > Sofware Updates > Find and Install...
  2. Zvolíme Search for new features to install
  3. Zo zoznamu vyberieme Aptana: RadRails Development Enviroment
  4. Stlačíme tlačidlo Finish a po potvrdení niekoľkých dialógov a reštarte Aptana Studia máme RadRails
    naištalované.

Posledný krok inštalácie spočíva v správnom nastavení ciest k Ruby interpreteru. Spravíme to cez dialógové okno Windows > Preferences > Ruby > Installed Interpreters:

Zvolíme Add a v dialógovom okne pomocou tlačidla Browse vyberieme adresár, v ktorom máme nainštalované binárne súbory Ruby (ak ste inštalovali InstantRails podľa predchádzajúceho návodu, tak C:\InstantRails\ruby). Nič dalšie už netreba vypĺňať a preto potvrdíme dialóg a môžme sa pustiť do programovania našej prvej Hello World aplikácie.

Hello World!

Detailmi programovania v Ruby on Rails sa budeme zaoberat neskôr. V tejto časti uvediem len presný postup ako vytvoriť našu prvú funkčnú RoR aplikáciu.

Vyberieme File > New > Rails Project a zadáme meno našej aplikácie, napr. HelloRails. Ostatné nastavenia projektu v dialógovom okne ponecháme východzie.

Na ľavej strane v časti Rails Navigator vidíme náš novovyvorený projekt v strome, ktorý keď rozbalíme, zobrazí adresárovú štruktúru a súbory, ktoré projekt obsahuje.

Ďalej vytvoríme nový controller s názvom Say. Keby sme pracovali iba s textovým editorom, vytvárame nové komponenty spúšťaním skriptov v textovej konzole. RadRails nám to však uľahčí a nový controller vytvoríme pomocou Tabu Generators v dolnej časti obrazovky:

Pomocou Rails Navigatora si nájdeme novovytvorený súbor app>controlers>say_controler.rb a do kódu dopíšeme novú akciu hello:



Zostáva nám už len pridať View pre zobrazenie našej akcie. Tak ako sme vytvorili akciu hello, takisto musíme pre túto akciu vytvoriť View (šablónu) pre prezantáciu tejto akcie v HTML jazyku.

V Rails Navigatore si nájdeme adresár app>views>say a vytvoríme v ňom nový prázdny súbor hello.rhtml.

Do ktorého vložíme nasledujúci kód:

<html>
<head><title>Three Times Hello Rails!</title></head>
<body>
<% 3.times() do %>
Hello Rails!<br />
<% end %>
</body>
</html>


Po uložení súborov spustíme našu aplikáciu pomocou tabu Servers v dolnej časti obrazovky.


Po nasmerovaní prehliadača na adresu http://127.0.0.1:3000/say/hello (resp. zo zmeneným portom podla výpisu v konzole pri spúštaní servera), vidíme našu prvú bežiacu Ruby on Rails aplikáciu.

1. Začíname s Ruby on Rails - Inštalácia

Monday, November 12. 2007

Učiť sa programovací jazyk iba podľa knihy resp. článkov určite nie je to pravé orechové. Je priam žiadúce aby sme mohli počas učenia programovať a skúšať si jednotlivé črty jazyka. Preto, skôr ako sa začneme učiť programovať v Ruby on Rails, pripravíme si počítač pre prácu s ním.

Inštalácia Ruby on Rails

Inštalácia Ruby on Rails nie je triviálna a vzhľadom na to, aký je vývoj v Ruby on Rails jednoduchý, býva často považovaná za najťažšiu časť učenia sa tohto frameworku. Pre prácu s Ruby on Rails (RoR) potrebujeme viacero spolupracujúcich komponentov. Sympatizanti práce v operačnom systéme Windows (ku ktorým patrím aj ja, a táto stránka sa bude venovať výhradne práci v OS Windows) majú však jednu obrovskú výhodu. K dispozícií balík InstantRails, ktorý tento proces značne zjednoduší.

Pre inštaláciu v OS Windows je teda potrebné stiahnuť si inštalačný .zip súbor InstantRails z adresy:

http://instantrails.rubyforge.org/wiki/wiki.pl

Súbor má asi 50MB. Ďalej je potrebné vytvoriť adresár, v ktorom chceme mať InstantRails nainštalované. Cesta k adresáru nesmie obsahovať medzery (Cesta typu "C:\Program Files\..." je teda nepoužiteľná). Vhodné je použiť napríklad C:\InstantRails (túto cestu budeme používať aj v dalších častiach seriálu). Do tohto adresára rozbalíme stiahnutý .zip súbor a spustíme InstantRails.exe. Na otázku, či chceme pregenerovať konfiguračné súbory odpovieme áno a týmto by mala byť inštalácia RoR dokončená.

Teraz by sme mali na obrazovke vydieť maličké okno InstantRails, cez ktoré môžeme spravovať jednotlivé komponenty a spúšťať naše alebo vzorové aplikácie. Napríklad blogovací systém typo spustíme kliknutím na I vľavo hore > Rails Applications > Manage Rails Applications. Zo zoznamu vyberieme typo-x.x.x a stlačíme Start with Mongrel (Mongrel je web server). Po nasmerovaní web prehliadača na adresu http://127.0.0.1:3002 už vidíme našu RoR aplikáciu v plnej kráse.



Ak sa nám zobrazí úvodná stránka blogovacieho systému typo, znamená to, že Ruby on Rails máme úspešne nainštalované a funkčné. V ďalšej časti seriálu si nainštalujeme vývojové prostredie (GUI) pre vývoj našich vlastných aplikácií a nebude chýbať ani obligátny Hello World.

Kde hľadať na internete?

Monday, August 20. 2007
Ruby on Rails

Písať tutorialy ako programovať v Ruby on Rails by bolo zrejme nosením dreva do hory. Na internete existuje množstvo článkov, ktoré tento framework propagujú a pomôžu Vám urobiť prvé krôčky pri programovaní v ňom.

Na Slovensku ešte toho zatiaľ moc nenájdete, za riekou Moravou sa však už vytvára komunita, ktorej články stojí za to prečítať:

http://blog.karmi.cz/
karmi má na svojom blogu články, pomocou ktorých ľahko pochopíte základné princípy programovania v RoR

http://www.root.cz/serialy/ruby-on-rails/
seriál na servery root.cz o programovaní v Ruby on Rails

http://www.railshosting.cz/
ak už máte predstavu a chcete spraviť niečo seriózne, railshosting.cz ponúka možnosť vyskúšat si profesionálny Ruby on Rails hosting zadarmo.

Visual Studio 2008 IronRuby

Monday, August 13. 2007
Ruby

Nie je to tak dávno čo bol jazyk Ruby považovaný len za hračku pre hardcore programátorov. Postupom času však oň začalo prejavovať záujem čoraz viac IT autorít.

To, že jazyk Ruby má svoje kvality a je to plnohodnotný jazyk nedávno potvrdil aj Microsoft ohlásením, že svoju verziu jazyka Ruby - IronRuby implementuje v novom Visual Studio 2008.

Visual Studio je zrejme najpoužívanejší a veľmi prepracovaný vývojársky nástroj. Microsoft dal týmto samovoľne odpoveď na mimoriadne frekventovanú otázku ohľadom jazyka Ruby - Je Ruby enterprise ready? Bill Gates a jeho kamaráti si zjavne myslia že áno.

Vlak RoR práve dostal zelenú!

Saturday, August 11. 2007
Ruby on Rails je určite jednou z najperspektívnejších technológií dneška. Je pravdou, že na Slovensku zatiaľ nepatrí medzi hlavné témy ale napr. v USA je predmetom mnohých diskusií a čoraz viac IT korporácií, nerátajúc množstvo menších firiem, zvažuje nemalé výhody jazyka Ruby ako aj frameworku na tvorbu webov Ruby on Rails. (Microsoft ohlásil podporu jazyka Ruby v prostredí Visual Studiu 2008)

Stránka rails.sk si kladie za cieľ rozšíriť povedomie o tomto geniálnom nástroji na tvorbu webov. Prinesieme množstvo zaujímavých reportáží, návodov a odkazov na rôzne užitočné zdroje. Našou snahou je angažovať najlepších z najlepších v tejto oblasti.

Jedným z našich tromfov bude určite aj priekopník Ruby on Rails na Slovensku, doktorant FMFI UK v Bratislave a východniarsky lokálpatriot, vystupujúci pod záhadným pseudonymom pinform. Spoza volantu kombajnu sa vypracoval na príslovečnú šedú eminenciu slovenskej Ruby on Rails scény.

Veríme že táto stránka sa stane povinným čítaním pre každého, kto sa rozhodol rozšíriť svoje obzory a nasadnúť na závratnou rýchlosťou sa rozbiehajúci vlak s názvom Ruby on Rails. Želáme Vám príjemnú cestu!