<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jaros&#322;aw Zabie&#322;&#322;o - BLOG: Merb i graficzny debugger Netbeans 6.x</title>
    <link>http://blog.zabiello.com/articles/2007/12/20/nb6-debug-merb</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Merb i graficzny debugger Netbeans 6.x</title>
      <description>&lt;p&gt;Jak wielu pewnie wiadomo, &lt;a href="http://deadlock.netbeans.org/hudson/job/ruby/"&gt;Netbeans 6&lt;/a&gt; pozwala na debugowanie kodu &lt;a href="http://rubyonrails.org"&gt;Rails&#243;w&lt;/a&gt; w swym graficznym &#347;rodowisku. Jest to du&#380;o bardziej komfortowe ni&#380; katowanie Rubiego w tekstowej konsoli (zobacz &lt;a href="http://www.netbeans.org/kb/60/ruby/debugger-screencast.html"&gt;screencast&lt;/a&gt;). Zdobywaj&#261;cy coraz wi&#281;cej sympatyk&#243;w (konkurencyjny wobec Rails) framework &lt;a href="http://merbivore.com/"&gt;Merb&lt;/a&gt; r&#243;wnie&#380; pozwala na podobny komfort pracy, tylko trzeba wiedzie&#263; jak to zrobi&#263;.&lt;/p&gt;


	&lt;p&gt;Zar&#243;wno w wypadku Rails jak i Merb trzeba mie&#263; doinstalowane gemy &lt;code&gt;ruby-debug&lt;/code&gt; i &lt;code&gt;ruby-debug-ide&lt;/code&gt;. Nast&#281;pnie nale&#380;y stworzy&#263; plik &lt;code&gt;script/server&lt;/code&gt; o tre&#347;ci skryptu &lt;code&gt;merb&lt;/code&gt; (u&#380;ywany do tworzenia nowych projekt&#243;w i uruchamiania wielow&#261;tkowego serwera &lt;span class="caps"&gt;HTTP&lt;/span&gt; dla Merba).&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="comment"&gt;#!/usr/bin/env ruby&lt;/span&gt;

&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;rubygems&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;

&lt;span class="ident"&gt;version&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;&amp;gt;= 0&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;

&lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="constant"&gt;ARGV&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;first&lt;/span&gt; &lt;span class="punct"&gt;=~&lt;/span&gt; &lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="regex"&gt;^_(.*)_$&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt; &lt;span class="keyword"&gt;and&lt;/span&gt; &lt;span class="constant"&gt;Gem&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Version&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;correct?&lt;/span&gt; &lt;span class="global"&gt;$1&lt;/span&gt; &lt;span class="keyword"&gt;then&lt;/span&gt;
  &lt;span class="ident"&gt;version&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="global"&gt;$1&lt;/span&gt;
  &lt;span class="constant"&gt;ARGV&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;shift&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;

&lt;span class="ident"&gt;gem&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;merb&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt; &lt;span class="ident"&gt;version&lt;/span&gt;
&lt;span class="ident"&gt;load&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;merb&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Plikowi nadajemy prawa do uruchomienia (chmod a+x config/server) i&amp;#8230; to wszystko. Prze&#322;&#261;czamy si&#281; na projekt Merb (projekt Merb traktujemy w &lt;span class="caps"&gt;NB6&lt;/span&gt; tak, jak projekt Rails), ustawiamy go g&#322;&#243;wnym projektem (je&#347;li mamy ich wi&#281;cej) i odpalamy z menu Run -&amp;gt; Debug Main Project). Oczywi&#347;cie wcze&#347;niej ustawiamy sobie pu&#322;apki w kodzie za pomoc&#261; myszki. No i trzeba te&#380; pami&#281;ta&#263; aby &lt;span class="caps"&gt;NB6&lt;/span&gt; dla naszego projektu pracowa&#322; z Ruby, a nie JRuby (prawy click na projekt i w Properties ustawiamy odpowiedni&#261; Ruby Platform) Uwaga: t&#261; metod&#261; Mongrel z Merbem jest odpalany na porcie 3000 a nie 4000.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Dec 2007 22:03:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:e14b4f43-c3ba-44fd-9eee-2268f985d9d8</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2007/12/20/nb6-debug-merb</link>
      <category>rails</category>
      <category>merb</category>
      <category>netbeans</category>
    </item>
  </channel>
</rss>
