Web-based IDE and debugger for Rails


Gyre 라는 오픈소스 툴이 나왔습니다. 웹기반의 레일즈 IDE 겸 디버깅 툴이라는 타이틀을 달고 있는데요, 개발자의 말에 의하면 아직은 pre-pre-pre alpha 상태이니 감안해서 봐달라고 합니다. 역시나 아직은 많이 불안정한 모습입니다.

이것또한 레일즈 어플리케이션으로 되어있습니다. 스크린캐스트도 올려져 있습니다.

사용자 삽입 이미지

screenshot


설치 방법은 아래와 같습니다.

sudo gem install -y ruby-debug -v 0.6.2
sudo gem install -y coderay
svn checkout http://gyre.bitscribe.net/svn/gyre/trunk gyre
cd gyre
mysqladmin create gyre
rake db:migrate
script/server -p 4000
기본적으로 Rails 1.2.1 로 되어있으니, Rails 1.2.2 를 쓰시는 분들은 config/environment.rb 에서 RAILS_GEM_VERSION 을 변경해 주시면 됩니다.

윈도우즈에 설치하시는 분들은 설치후 재시작시

TypeError in Project#index
Showing app/view/project/index.rhtml where line #32 raised:
can’t convert nil into String ….


이런식의 오류가 날 수 있는데요, project_helper.rb 의 render_directory_dialog 에 보면 ENV[“HOME”] 정보가 제대로 존재하지 않아서 그렇습니다. 대략 패쓰를 여러분들이 사용하시는 레일즈 어플리케이션이 있는 상위 디렉토리쯤으로 변경하시면 될 것 같습니다.

Gyre 를 설치한뒤 실행시키고 브라우저로 접속하면 처음 화면에서 프로젝트들을 등록하는 화면이 보이게 됩니다. 여기서 기존에 존재하는 레일즈 어플리케이션을 등록하게 되면 Gyre 는 기존의 레일즈 어플리케이션의 application.rb 파일에 내용을 추가하게 됩니다.


### The following was added by Gyre as a horrible, horrible hack.
### Remove if you wish to run the app standalone.
class ApplicationController < ActionController::Base
 before_filter :gyre_set_bp_retry
 def gyre_set_bp_retry
  params[“BP-RETRY”] = true
 end
end
### EOH (end of horror)

확인해보니 위와 같은 내용이 추가되고 있었습니다. 이러한 것이 추가되는 이유는 익셥션을 핸들링 하기 위해서라는 군요. (브레이크 포인트를 걸기위한 용도로도 사용하는 것 같습니다). 디버거 상에서 어플리케이션이 실행되지 않는 경우에는 행걸릴수도 있으니 주의하라는 당부의 말도 있는 것 보면, 테스트용으로만 잠깐 써보는 것이 전부인 것 같습니다. 아직 많이많이많이 불안불안 합니다.

스크립트 기반의 레일즈 어플리케이션을 이렇게 꼭 브라우저로 IDE를 제공하고 디버깅 할 필요가 있을까 생각이 들기도 했지만, 어쨌든 디버깅에 많은 불편함을 느끼고 있는 저로서는 이러한 디버깅을 할 수 있는 옵션들이 많이 나타나는 것 자체가 반가운 소식입니다. 아직 갈길이 멀게만 느껴지는 중입니다.