Hu Gb

Ruby on Rails és a tesztek

2011.09.13
Tesztek írása nélkül olyan a fejlesztés, mint gumi nélkül szexelni egy ismeretlennel. Sok későbbi fejfájást spórolhatunk meg, ha a fejlesztés alatt végig írogatjuk a tesztjeinket. A Ruby on Rails egy - véleményem szerint - nagyon jó teszt keretrendszert tartalmaz, ezt fogom most bemutatni. Generáljuk egy rails app-ot, utána pedig egy scaffold-ot:
rails new rails_testing
cd rails_testing
rails g scaffold post title:string content:text
rake db:migrate
A fenti kód legenerálja az app-unk vázát, illetve egy scaffold-ot a "post" model-hez. Ennek részeként az app/test mappában, a rails létrehoz nekünk egy fixture-t, és minta teszteket. A fixture-ök abban lesznek segtségünkre, hogy előre meghatározott adatokat tárolnak nekünk a teszteléshez. A rails ezeket előre kitölti nekünk, de inkább alakitsuk át őket egy kicsit:
Továbbolvas

RailsConf 2011

2011.05.28
Ezen a héten tartották az O'Reilly Rails konferenciát, Baltimoreban. David Heinemeier Hansson keynote-ját végighallgatva ismét megbizonyosodtam róla, hogy a Rails nagyon jó irányba halad. DHH az úgynevezett "asset pipeline" -ról beszélt főleg, illetve arról, hogy milyen gem-ek lesznek default-ként a Rails 3.1 -ban. Az asset pipeline lényege, hogy a public folder-t tisztán tartsuk a working file-jainktól, és deployment előtt a css-t, js-t tömörítve egy fajlba olvasztva kirakjuk a public folder-be. Így a working copy az egy jól strukturált, olvashatóan tördelt dokumentum lesz, viszont az éles alkalmazás ezt nem fogja megszenvedni. Az új deafault gem-ek a Sass es a Coffescript. A második elég nagy flame-t élt meg a github-on, aki érdekel utánaolvashat. A Sass a Css-t teszi "programozhatóvá", így változókat, mixin-eket, használhatunk a stylesheet-ben. Néhány slide a további előadásokról: http://joeloliveira.com/2011/05/17/slides-available-from-railsconf-2011/
Továbbolvas

Rails var_dump

2010.05.22
Php-ból jött fejlesztőként egyik első kérdésem a ruby nyelvlről és a rails frameworkről az volt, hogyan tudom dumpolni egy változó tartalmát. Szerencsére nem túl bonyolult a dolog, az alábbi kódot elhelyezve a view-ban egy YAML formátumú kimenetet kapunk az átadott változóról egy pre html tag-be csomagolva:
<%= content_tag("pre", YAML::dump(var_name)) %>
Továbbolvas