Ruby Developer Notes Useful things

2Aug/100

How to run Rails 3 rc on heroku

Heroku is awesome! You can easily run Rails 3 Beta on Heroku without any hacks. But if you want run Rails 3 RC where will be a problem: Rails 3.0.0.rc depends on Bundler 1.0.0.rc but Heroku now supports only Bundler 0.9.26. So you can't run app based on Rails 3.0.0.rc gem easily on Heroku now.

27Jul/106

Rails 3 + Ruby 1.9 = борьба с кодировками

Посвящается Rails 3.0.0.rc

Недавно пробовал покатать Rails EDGE на Ruby 1.9.2-head и конечно же нарвался на проблему с кодировками. Однако их оказалось не так много как я предполагал.

Для начала надо убедиться что в файле config/application.rb прописано config.encoding = "utf-8". Это позволяет сэкономить нервы с кодировкой шаблонов. Но именно шаблонов, для моделей и контроллеров надо указывать специальный комментарий вначале файла:

23Jun/101

Cross version Ruby debug with ruby-debug-wrapper

When you debuging Rails 3 application (which uses Bundler) and trying different ruby versions with RVM you have following problem: you should switch your Gemfile between ruby-debug and ruby-debug19 gems to work with 1.8 and 1.9 Rubies. ruby-debug-wrapper gem solves the problem.

Follow this steps:

  1. Install ruby-debug gem for each ruby version you will use. For example:
    [cc lang="bash" width="670"]
    # rvm use system
    # gem install ruby-debug
    # rvm use ree@rails3
    # gem install ruby-debug -- --with-ruby-include=$rvm_path/src/ree-1.8.7-2010.02/
    # rvm use ruby-1.9.2-head@rails3
    # gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-head/
    [/cc]
10Jun/100

RVM и Rails 3

RVM (Ruby Version Manager) - это замечательный способ иметь несколько версий ruby на одной машине без головной боли. Кроме того у него есть отличная фича gemset, которая позволяет иметь несколько невзаимосвязанных наборов гемов в пределах одной версии руби.

В свете нестабильности и грядущих больших перемен в мире ruby и rails это очень востребовано. Очень удобно использовать rvm для экспериментов с rails 3 в окружении различных версий руби. Для этого достаточно сделать следующее:

[cc lang="bash" width="700"]
bash << ( curl http://rvm.beginrescueend.com/releases/rvm-install-head ) mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install [/cc]