Az oldal mögött egy Ruby on Rails-ben írd kód üzemel, úgyhogy az első nehány cikk az valószínűleg Ruby témájú lesz, és pár dolgot megosztok majd az oldal készítésénél is alkalmazott dolgokról.
A Ruby nyelvnek jelenleg kettő elterjedtebb fő verziója van, és ezek nem teljesen kompatibilites. Az 1.9-es verzió hozott néhány nem visszafelé kompatibilis újítást, mint például az új Hash szintakszis. Ez az egyik ok, ami miatt nagyon hasznos, ha egyszerre több Ruby verziót is tudunk kezelni. Itt jön tehát a képbe az rvm (ruby version manager). Viszont ez az eszköz még ennél is többet nyújt számunkra, mert segítségével létrehozhatunk, úgynevezett gemset-eket is. Ez különösen hasznos, ha mondjuk Rails 2 és Rails 3 app-okat szeretnénk párhuzamosan futtatni.
Vágjunk hát bele az rvm használatába. A telepítése 2 módon is történhet, de én csak a single user telepítést fogom bemutatni. A telepítés pofonegyszerű: bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer). Ezzel a bash script-el az rvm magatól települ. Ezután már csak hozzá kell adnunk az rvm-et a bash profilunkhoz: echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile. Ezután újra kell inditanunk a terminalt, és ha minden jol ment, akkor a type rvm | head -1 parancsra az rvm is a function választ kapjuk. Az rvm list known parancsra megkapjuk az ismert ruby verziók listáját, majd az rvm install ruby-verzio parancsal telepithetjuk a kívánt rubyt. Az rvm use ruby-verzio parancsal pedig a telepített verziók között válthatunk.
Lássuk hogyan tudunk több gemset-et is használni. Ezeknek a létrehozása az rvm gemset create test parancsal történik ahol a test a gemset neve. A gemset mindíg az éppen használatban lévő rby verzió alá lesz létrehozva. Ezután az rvm gemset use gemset_neve parancsal válthatunk gemset-et, illetve az rvm gemset list parancsal nézhetjük meg a gemset-et listáját.
Van mégegy fontos tudnivaló az rvm-ről. Ez az eszköz felülírja az alapértelmezett cd parancsot, és amikor mappát váltunk, ellenorzi, hogy van e .rvmrc fájl az adott mappában és ha van, akkor az abban definiált ruby verziót és gemset-et használja automatikusan. A .rvmrc fájlt az rvm --rvmrc --create reetest@ parancsal tudunk létrehozni, ahol a ree a ruby verzió neve, a test pedig a gemset-é.
Ha Ruby on Rails szeretnénk használni az rvm-el, akkor mégegy dologra lesz szükségünk. A Rails config mappájában létre kell hoznunk egy fájlt setup_load_paths.rb néven az alábbi tartalommal:
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
begin
rvm_path = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
rvm_lib_path = File.join(rvm_path, 'lib')
$LOAD_PATH.unshift rvm_lib_path
require 'rvm'
RVM.use_from_path! File.dirname(File.dirname(__FILE__))
rescue LoadError
// RVM is unavailable at this point.
raise "RVM ruby lib is currently unavailable."
end
end
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup'
Innentől a Rails app-jainknak könnyedén tudunk saját gemset-eket létrehozni.