<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AdaRuby &#187; Tools</title>
	<atom:link href="http://www.adaruby.com/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adaruby.com</link>
	<description>Rich Dynamic Applications with Ruby on Rails</description>
	<lastBuildDate>Thu, 04 Aug 2011 04:42:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>NetBeans IDE 6.8 Released &#8212; with Enhanced Ruby on Rails Support!</title>
		<link>http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support</link>
		<comments>http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 20:35:03 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/</guid>
		<description><![CDATA[NetBeans IDE version 6.8 has been released, Sun Microsystems&#8217; newest flagship programming environment. Primarily targeted at Java programmers, NetBeans also sports a very polished IDE for Ruby on Rails developers. New NetBeans 6.8 features and improvements for Ruby on Rails include: Upgraded bundled JRuby to 1.4 Ruby 1.9 debugging support Run/Debug File with arguments Support [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F14%2Fnetbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F14%2Fnetbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt=" NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /><br />
			</a>
		</div>
<div>
<p> <img border="0" height="157" name="graphics4" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_0__.png" style=";text-align:bottom" width="289" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 0   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /> </p>
<p> <b><a href="http://netbeans.org/" rel="nofollow" >NetBeans IDE</a> version 6.8</b> has been released, Sun Microsystems&#8217; newest flagship programming environment. Primarily targeted at Java programmers, NetBeans also sports a very polished  <b>IDE for Ruby on Rails</b> developers.</p>
<p>New NetBeans 6.8 features and improvements for Ruby on Rails include:</p>
<ul>
<li>
<p>Upgraded bundled JRuby to 1.4</p>
</li>
<li>
<p>Ruby 1.9 debugging support</p>
</li>
<li>
<p>Run/Debug File with arguments</p>
</li>
<li>
<p>Support for running/debugging files that are not part of a project</p>
</li>
<li>
<p>Improved handling of inherited methods in rename refactoring</p>
</li>
<li>
<p>Possibility to specify arguments for Rails servers</p>
</li>
<li>
<p>Navigation support for ActiveRecord associations</p>
</li>
<li>
<p>RSpec 1.2.9 support</p>
</li>
<li>
<p>Faster and more accurate type inference</p>
</li>
<li>
<p>Improved navigation for accessor methods created by attr, attr_accessor and attr_reader</p>
</li>
<li>
<p>Support for creating Rails 2.3.4 apps with dispatchers</p>
</li>
</ul>
<p> <img border="0" height="136" name="graphics1" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_1__.png" style=";text-align:bottom" width="358" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 1   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /></p>
<ul>
<li>
<p>Ability to uninstall a specific gem version.</p>
</li>
</ul>
<p> <img border="0" height="277" name="graphics2" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_2__.png" style=";text-align:bottom" width="501" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 2   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /> </p>
<ul>
<li>
<p>Type assertions for method return types, use&nbsp; <code>:return:=&gt; (type)</code> in the method&#8217;s rdoc, e.g.:  <code>#:return:=&gt;String</code></p>
</li>
</ul>
<p> <img border="0" height="107" name="graphics3" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_3__.png" style=";text-align:bottom" width="262" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 3   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /></p>
<p>Other improvements include:</p>
<h3>Database/SQL Improvements</h3>
<ul>
<li>
<p>Database integration: Code completion in SQL Editor now also for DELETE, DROP, UPDATE statements, and for reserved keywords</p>
</li>
</ul>
<h3>Embedded Browser</h3>
<ul>
<li>
<p>There is a brand new embedded browser based on Mozilla XULRunner available on Update Center for MS Windows.</p>
</li>
<li>
<p>The Browser is disabled by default.  <b>To enable it</b> use Tools &gt; Options and select &#8216;Embedded Mozilla Browser&#8217; as Web Browser.</p>
</li>
<li>
<p>The Embedded Browser is used to display all links (that would be normally opened in the external browser) inside the IDE as Editor tabs.</p>
</li>
</ul>
<p>The Embedded Browser in IDE is very new thing and we would like to gather a lot of feedback about it. Should you find some issue then please  <a href="https://netbeans.org/bugzilla/enter_bug.cgi?product=platform&#038;component=Embedded+Browser&#038;version=6.8" rel="nofollow" >file a bug report</a>.</p>
<p>Embedded Browser requires 32-bit JDK.</p>
<h3><a id="Web_Preview_for_HTML_and_CSS" name="Web_Preview_for_HTML_and_CSS"></a>Web Preview for HTML and CSS</h3>
<ul>
<li>
<p>Embedded Browser (EB) component is used for HTML file preview that is opened in Output area and user can preview changes while editing (simply by saving the file) without jumping between external editor and NetBeans IDE.</p>
</li>
<li>
<p>EB is also used for CSS editor where it replaces previous HTML rendering component, so user can see CSS changes in real-world internet browser.</p>
</li>
</ul>
<p>Note: Both preview can be used only on Windows after downloading Web Preview and Embedded Browser modules from UC</p>
<h3>Kenai.com: Connected Developer</h3>
<ul>
<li>
<p>Full JIRA support (plugin from update center)</p>
</li>
<li>
<p>Project dashboard with more member and project details, improved search and navigation, easier project sharing</p>
</li>
<li>
<p>Improved instant messenger integration: Online presence, private and group chat with Kenai members, easy to add links to code / files /issues / stack traces to messages</p>
</li>
<li>
<p>Improved issue tracker integration</p>
</li>
</ul>
<h3>Download NetBeans IDE</h3>
<p>Start developing Ruby on Rails web applications faster with this full-featured IDE,  <a href="http://netbeans.org/downloads/" rel="nofollow" >download and install NetBeans here</a>.</p>
<p><br clear="left"></div>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fixing RubyGems in Ubuntu Gutsy Installation</title>
		<link>http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fixing-rubygems-in-ubuntu-gutsy-installation</link>
		<comments>http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 11:57:08 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Complaints]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[gutsy]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[rubygems.ruby]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/</guid>
		<description><![CDATA[Upgrading to the latest RubyGems in Ubuntu Gutsy is a bit non-straightforward. I&#8217;d like to share a quick fix this time. It&#8217;s trivial when you know it, but if not, a friend of mine has almost hosed his system just because of this annoying &#8220;bug&#8221;. Installing Ruby in Ubuntu is pretty simple: sudo aptitude install [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F24%2Ffixing-rubygems-in-ubuntu-gutsy-installation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F24%2Ffixing-rubygems-in-ubuntu-gutsy-installation%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Fixing RubyGems in Ubuntu Gutsy Installation" alt=" Fixing RubyGems in Ubuntu Gutsy Installation" /><br />
			</a>
		</div>
<p><a href="http://www.flickr.com/photos/evil_genius_photography/1415180013/" rel="nofollow" ><img src="http://farm2.static.flickr.com/1098/1415180013_435881aab1.jpg?v=0" alt=" Fixing RubyGems in Ubuntu Gutsy Installation" height="500" width="333" title="Fixing RubyGems in Ubuntu Gutsy Installation" /></a></p>
<p>Upgrading to the latest <a href="http://www.rubygems.org/" rel="nofollow" >RubyGems</a> in <a href="http://www.ubuntu.com/" rel="nofollow" >Ubuntu</a> Gutsy is a bit non-straightforward. I&#8217;d like to share a quick fix this time. It&#8217;s trivial when you know it, but if not, a friend of mine has almost hosed his system just because of this annoying &#8220;bug&#8221;.</p>
<p>Installing <a href="http://www.ruby-lang.org/" rel="nofollow" >Ruby</a> in Ubuntu is pretty simple:</p>
<pre>sudo aptitude install ruby ri irb rdoc rubygems libruby-extras libmysql-ruby ruby1.8-dev</pre>
<p>(add other packages as you see fit)</p>
<p>The problem occurs right after you upgrade RubyGems to the latest version:</p>
<pre>sudo gem update --system</pre>
<p>Then you get something like this:</p>
<pre>ceefour@caliva:/usr/bin$ gem
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)</pre>
<p>Logging in and out doesn&#8217;t work. The world is coming to an end!</p>
<p>Don&#8217;t worry, the world is still running. Check out your /usr/bin folder:</p>
<pre>ceefour@caliva:/usr/bin$ ls -la gem*
-rwxr-xr-x 1 root root 701 2007-08-24 12:18 gem
-rwxr-xr-x 1 root root 698 2008-03-20 09:20 gem1.8
-rwxr-xr-x 1 root root  84 2008-03-20 09:20 gemlock
-rwxr-xr-x 1 root root  89 2008-03-20 09:20 gem_mirror
-rwxr-xr-x 1 root root  76 2008-03-20 09:20 gemri
-rwxr-xr-x 1 root root  89 2008-03-20 09:20 gem_server
-rwxr-xr-x 1 root root  86 2008-03-20 09:20 gemwhich</pre>
<p>So, there is some mismatch between gem and gem1.8. The latter being the newer/correct version.</p>
<p>Simply remove the &#8220;gem&#8221; one and replace (or link) it to the &#8220;gem1.8&#8243; one:</p>
<pre>ceefour@caliva:/usr/bin$ sudo rm gem
ceefour@caliva:/usr/bin$ sudo ln -s gem1.8 gem</pre>
<p>Now:</p>
<pre>ceefour@caliva:/usr/bin$ gem -v
1.0.1</pre>
<p>Presto! We&#8217;re back in business. <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Fixing RubyGems in Ubuntu Gutsy Installation" class='wp-smiley' title="Fixing RubyGems in Ubuntu Gutsy Installation" /> </p>
<p>Interesting RubyGems articles:</p>
<ul>
<li><a href="http://blog.fiveruns.com/2008/3/3/compiling-ruby-rubygems-and-rails-on-ubuntu" rel="nofollow" >Compiling Ruby, RubyGems and Rails on Ubuntu</a></li>
<li><a href="http://dmitterdorfer.blogspot.com/2006/01/ruby-gems-on-ubuntu-linux.html" rel="nofollow" >Jag har litet bråttom: Ruby Gems on Ubuntu Linux</a></li>
<li><a href="http://wafa.web.id/2008/01/20/ruby-rubygems-mirroring/" rel="nofollow" >:: nEvEr gIVeUp :: » Ruby, RubyGems Mirroring</a></li>
<li><a href="http://www.vmunix.com/mark/blog/archives/2006/04/08/ruby-gems-still-doesnt-work-on-104/" rel="nofollow" >VMUNIX Blues » Blog Archive » Ruby GEMS still doesn’t work on 10.4?</a></li>
<li><a href="http://digitalemagine.com/wordpress/archives/18" rel="nofollow" >Stefano’s Blog(s) » The magic world of Ruby, Rails and RubyGems &#8230;</a></li>
<li><a href="http://www.openlogic.com/blogs/2007/06/rubyrailsmysql-installation-h-e-double-hockey-sticks/" rel="nofollow" >Ruby/RubyGems/Rails/MySQL installation h e double-hockey sticks &#8230;</a></li>
</ul>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Quick Reference</title>
		<link>http://www.adaruby.com/2008/03/22/ruby-quickref/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ruby-quickref</link>
		<comments>http://www.adaruby.com/2008/03/22/ruby-quickref/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 06:41:50 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/03/22/ruby-quickref/</guid>
		<description><![CDATA[While using Ruby for your projects, you may need some references. These are some references that might help you in using Ruby: Language General Syntax Rules Comments start with a pound/sharp (#) character and go to EOL. Ruby programs are sequence of expressions. Each expression is delimited by semicolons(;) or newlines unless obviously incomplete (e.g. [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F22%2Fruby-quickref%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F22%2Fruby-quickref%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Ruby Quick Reference" alt=" Ruby Quick Reference" /><br />
			</a>
		</div>
<p>While using Ruby for your projects, you may need some references.</p>
<p>These are some references that might help you in using Ruby:</p>
<blockquote>
<ul>
<li><strong>Language </strong></li>
</ul>
<blockquote><p><a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#2" rel="nofollow" >General Syntax Rules</a></p>
<ul>
<li>Comments start with a pound/sharp (#) character and go to EOL.</li>
<li>Ruby programs are sequence of expressions.</li>
<li>Each expression is delimited by semicolons(;) or newlines unless obviously incomplete (e.g. trailing &#8216;+&#8217;).</li>
<li>Backslashes at the end of line does not terminate expression.</li>
</ul>
<p><a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#3" rel="nofollow" >Reserved words</a></p>
<pre>alias   and     BEGIN   begin   break   case    class   def     defined
do      else    elsif   END     end     ensure  false   for     if
in      module  next    nil     not     or      redo    rescue  retry
return  self    super   then    true    undef   unless  until   when
while   yield</pre>
</blockquote>
<blockquote><p><a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#4" rel="nofollow" >Type</a></p>
<p>Basic types are numbers, strings, ranges, regexen, symbols, arrays, and hashes. Also included are files because they are used so often.</p></blockquote>
<blockquote><p><a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#16" rel="nofollow" >Variables</a></p>
<pre>$global_variable
@@class_variable
@instance_variable
[OtherClass::]CONSTANT
local_variable</pre>
</blockquote>
<ul>
<li><strong>Standard Library</strong></li>
</ul>
<blockquote><p>Ruby comes with an extensive library of classes and modules. Some are built-in, and some are part of the standard library. You can distinguish the two by the fact that the built-in classes are in fact, built-in. There are no dot-rb files for them.</p></blockquote>
<blockquote><p><a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#38" rel="nofollow" >Built-in Library</a></p>
<p>Class Hierarchy:</p>
<blockquote><p>Object</p>
<ul>
<li>Hash</li>
<li>Symbol</li>
<li>IO
<ul>
<li>File</li>
</ul>
</li>
<li>Continuation</li>
<li>File::Stat</li>
<li>Data</li>
<li>NilClass</li>
<li>Exception (see tree above)</li>
<li>Array</li>
<li>Proc</li>
<li>String</li>
</ul>
</blockquote>
</blockquote>
<blockquote><p><a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#41" rel="nofollow" >Standard Library</a></p>
<p>The essentials:</p>
<ul>
<li>
<ul>
<li>benchmark.rb  a simple benchmarking utility</li>
</ul>
<ul>
<li>cgi-lib.rb	decode CGI data &#8211; simpler than cgi.rb</li>
</ul>
<ul>
<li>cgi.rb        CGI interaction</li>
</ul>
<ul>
<li>date.rb	date object (compatible)</li>
</ul>
<ul>
<li>debug.rb	ruby debugger</li>
</ul>
<ul>
<li>delegate.rb	delegate messages to other object</li>
</ul>
<ul>
<li>English.rb	access global variables by english names</li>
</ul>
<ul>
<li>fileutils.rb  file utility methods for copying, moving, removing, etc.</li>
</ul>
</li>
</ul>
</blockquote>
<ul>
<li><strong>Tools</strong>:  <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#43" rel="nofollow" >ruby</a>(<a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#44" rel="nofollow" >Command Line Options</a>, <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#45" rel="nofollow" >Environment Variables</a>),  <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#46" rel="nofollow" >irb</a>, <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#47" rel="nofollow" >xmp</a>, <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#48" rel="nofollow" >ruby-mode</a>, <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#49" rel="nofollow" >Debugger</a>, <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#50" rel="nofollow" >rdoc</a></li>
</ul>
<ul>
<li><strong>Mindshare, Idiom and Patterns</strong> (<a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#52" rel="nofollow" >Object Design</a>, <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html#57" rel="nofollow" >Other Third-party Libraries</a>)</li>
</ul>
</blockquote>
<p>For further details visit <a href="http://www.zenspider.com/Languages/Ruby/QuickRef.html" rel="nofollow" >Ruby Quick Reference page at ZenSpider</a>.</p>
<blockquote>
<blockquote></blockquote>
</blockquote>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/03/22/ruby-quickref/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrating Subversion repositories using SVK</title>
		<link>http://www.adaruby.com/2008/03/20/migrating-subversion-repositories-using-svk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=migrating-subversion-repositories-using-svk</link>
		<comments>http://www.adaruby.com/2008/03/20/migrating-subversion-repositories-using-svk/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 11:02:41 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[migrate]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svk]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/03/20/migrating-subversion-repositories-using-svk/</guid>
		<description><![CDATA[Recently I got a task which involves moving, or let&#8217;s say copying, an entire Subversion repository with history to another server. Problem is, I didn&#8217;t have access to the server itself, which means I couldn&#8217;t do a regular &#8220;svnadmin dump&#8221;. SVK comes to the rescue! To make it work, first of all you need to [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F20%2Fmigrating-subversion-repositories-using-svk%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F20%2Fmigrating-subversion-repositories-using-svk%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Migrating Subversion repositories using SVK" alt=" Migrating Subversion repositories using SVK" /><br />
			</a>
		</div>
<p>Recently I got a task which involves moving, or let&#8217;s say copying, an entire Subversion repository with history to another server. Problem is, I didn&#8217;t have access to the server itself, which means I couldn&#8217;t do a regular &#8220;svnadmin dump&#8221;.</p>
<p>SVK comes to the rescue!</p>
<p><a href="http://www.flickr.com/photos/jenniferbuehrer/447221619/" rel="nofollow" ><img src="http://farm1.static.flickr.com/250/447221619_5ab9e67a0a.jpg?v=0" alt=" Migrating Subversion repositories using SVK" height="500" width="332" title="Migrating Subversion repositories using SVK" /></a></p>
<p>To make it work, first of all you need to install SVK. In Ubuntu it goes like this:</p>
<pre>sudo aptitude install svk</pre>
<p>When you first run svk it&#8217;ll ask you to create a local depot, you can simply agree to its suggestion.</p>
<p>Now we mirror both of the Subversion repositories we&#8217;re trying to import and export from and to. Note that you need to create the destination repository first.</p>
<pre>svk mirror //source http://svn.source.com/project1/
svk mirror //dest http://svn.dest.com/newproject/</pre>
<p>A bit of niceness with this method instead of a regular svn dump/load procedure is that:</p>
<ul>
<li> you can import to a different folder/subfolder instead of the root folder</li>
<li>you can do a partial export (subfolder of project repository)</li>
</ul>
<p>Before doing the actual migration process, let&#8217;s sync these mirrors first:</p>
<pre>svk sync //source
svk sync //dest</pre>
<p>And then you&#8217;ll do the real thing. But we can simulate it first by using &#8220;&#8211;check-only&#8221;, kinda&#8217; like when you simulate a DVD burning session before actually writing it.</p>
<pre>svk smerge //source //dest --incremental --log --sync --verbatim --track-rename --baseless --check-only</pre>
<p>There are several switches that I used above, feel free to use them only as needed:</p>
<ul>
<li>-I [--incremental]: apply each change individually</li>
<li>-l [--log]: use logs of merged revisions as commit message</li>
<li>-B [--baseless]: use the earliest revision as the merge point</li>
<li>-s [--sync]: synchronize mirrored sources before update</li>
<li>&#8211;verbatim: verbatim merge log without indents and header</li>
<li>&#8211;track-rename: track changes made to renamed node</li>
<li>-C [--check-only]: try operation but make no changes</li>
</ul>
<p>After you&#8217;re ready, redo the above command without &#8220;&#8211;check-only&#8221;:</p>
<pre>svk smerge //source //dest --incremental --log --sync --verbatim --track-rename --baseless</pre>
<p>Simply wait several minutes&#8211;or possibly hours (or days!) if your project is sufficiently large&#8211;for SVK to do its job for you!</p>
<p>Are there disadvantages of using SVK to a &#8220;genuine&#8221; SVN dump/load? Sure, among them is that the original author names are lost.</p>
<p>Good luck!</p>
<p>Related articles and resources:</p>
<ul>
<li><a href="http://svk.bestpractical.com/" rel="nofollow" >HomePage &#8211; SVK Wiki</a></li>
<li><a href="http://utsl.gen.nz/talks/git-svn/intro.html" rel="nofollow" >An introduction to git-svn for Subversion/SVK users and deserters</a></li>
<li><a href="http://scottstuff.net/blog/articles/2005/07/07/distributed-development-with-svk" rel="nofollow" >Distributed development with SVK</a></li>
<li><a href="http://www.newartisans.com/blog_files/svk.primer.php" rel="nofollow" >An SVK primer | Tools | New Artisans LLC</a></li>
<li><a href="http://hsenidians.blogspot.com/2007/07/using-svk-for-offline-access-to.html" rel="nofollow" >Make it happen: Using SVK for offline access to subversion</a></li>
<li><a href="http://www.jkraemer.net/2006/8/15/work-offline-with-svk-and-subversion" rel="nofollow" >jkraemer.net: Work offline with SVK and Subversion</a></li>
<li><a href="http://sablog.com/archives/2006/03/20/svk-mirror-subversion-repositories-locally-and-more" rel="nofollow" >SVK &#8211; Mirror Subversion Repositories Locally and More at sablog.com</a></li>
</ul>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/03/20/migrating-subversion-repositories-using-svk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Regular Expressions with Ruby</title>
		<link>http://www.adaruby.com/2008/03/18/using-regular-expressions-with-ruby/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-regular-expressions-with-ruby</link>
		<comments>http://www.adaruby.com/2008/03/18/using-regular-expressions-with-ruby/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 06:41:54 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/03/18/using-regular-expressions-with-ruby/</guid>
		<description><![CDATA[Ruby is a high level, object-oriented open source scripting language. It has excellent support for regular expressions as a language feature. In Ruby, a regular expression is written in the form of /pattern/modifiers where &#8220;pattern&#8221; is the regular expression itself, and &#8220;modifiers&#8221; are a series of characters indicating various options. The &#8220;modifiers&#8221; part is optional. [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F18%2Fusing-regular-expressions-with-ruby%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F18%2Fusing-regular-expressions-with-ruby%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Using Regular Expressions with Ruby" alt=" Using Regular Expressions with Ruby" /><br />
			</a>
		</div>
<p>Ruby is a high level, object-oriented open source scripting language. It has excellent support for regular expressions as a language feature.</p>
<blockquote><p>In Ruby, a regular expression is written in the form of <tt>/pattern/modifiers</tt> where &#8220;pattern&#8221; is the regular expression itself, and &#8220;modifiers&#8221; are a series of characters indicating various options. The &#8220;modifiers&#8221; part is optional. This syntax is borrowed from <a href="http://www.regular-expressions.info/perl.html" rel="nofollow" >Perl</a>.</p></blockquote>
<blockquote><p>Ruby supports the following <a href="http://www.regular-expressions.info/modifiers.html" rel="nofollow" >modifiers</a>:</p>
<ul>
<li><tt>/i</tt> makes the regex match case insensitive.</li>
<li><tt>/m</tt> makes <a href="http://www.regular-expressions.info/dot.html" rel="nofollow" >the dot match newlines</a>.  Ruby indeed uses /m, whereas Perl and many other programming languages use /s for &#8220;dot matches newlines&#8221;.</li>
<li><tt>/x</tt> tells Ruby to <a href="http://www.regular-expressions.info/freespacing.html" rel="nofollow" >ignore whitespace between regex tokens</a>.</li>
<li><tt>/o</tt> causes any #{&#8230;} substitutions in a particular regex literal to be performed just once, the first time it is evaluated. Otherwise, the substitutions will be performed every time the literal generates a Regexp object.</li>
</ul>
<p>You can combine multiple modifiers by stringing them together as in <tt>/regex/is</tt>.</p></blockquote>
<blockquote><p>In Ruby, the <a href="http://www.regular-expressions.info/anchors.html" rel="nofollow" >caret and dollar always match before and after newlines</a>.  Ruby does not have a modifier to change this.  Use <tt>\A</tt> and <tt>\Z</tt> to <a href="http://www.regular-expressions.info/anchors.html#az" rel="nofollow" >match at the start or the end of the string</a>.</p></blockquote>
<blockquote><p>Since forward slashes delimit the regular expression, any forward slashes that appear in the regex need to be escaped. E.g. the regex <tt>1/2</tt> is written as <tt>/1\/2/</tt> in Ruby.</p></blockquote>
<p>Read more on: <a href="http://www.regular-expressions.info/ruby.html" rel="nofollow" >Regular-Expressions.info home page</a>.</p>
<blockquote>
<blockquote></blockquote>
<blockquote></blockquote>
</blockquote>
<blockquote></blockquote>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/03/18/using-regular-expressions-with-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Morph Application Platform Simplifies Ruby on Rails Development</title>
		<link>http://www.adaruby.com/2008/02/16/morph-application-platform-simplifies-ruby-on-rails-development/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=morph-application-platform-simplifies-ruby-on-rails-development</link>
		<comments>http://www.adaruby.com/2008/02/16/morph-application-platform-simplifies-ruby-on-rails-development/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 03:46:07 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[284]]></category>
		<category><![CDATA[289]]></category>
		<category><![CDATA[296]]></category>
		<category><![CDATA[299]]></category>
		<category><![CDATA[300]]></category>
		<category><![CDATA[302]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/02/16/morph-application-platform-simplifies-ruby-on-rails-development/</guid>
		<description><![CDATA[Morph Labs is currently beta-testing their next-generation solution in application deployment, delivery, and management, the Morph Application Platform. Acquiring hardware and configuring software to support web apps are things of the past. Morph Labs brings you the next-generation solution in application deployment, delivery, and management. Reduce your time to market and lower your startup costs [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F02%2F16%2Fmorph-application-platform-simplifies-ruby-on-rails-development%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F02%2F16%2Fmorph-application-platform-simplifies-ruby-on-rails-development%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Morph Application Platform Simplifies Ruby on Rails Development" alt=" Morph Application Platform Simplifies Ruby on Rails Development" /><br />
			</a>
		</div>
<p><a href="http://www.morphexchange.com/" rel="nofollow" ><img src="http://www.adaruby.com/wp-content/uploads/2008/02/morph-logo.jpg" alt="morph logo Morph Application Platform Simplifies Ruby on Rails Development"  title="Morph Application Platform Simplifies Ruby on Rails Development" /></a></p>
<p><strong><a href="http://mor.ph/" rel="nofollow" >Morph Labs</a></strong> is currently beta-testing their next-generation solution in application deployment, delivery, and management, the <a href="http://www.morphexchange.com/map_info" rel="nofollow" >Morph Application Platform</a>.</p>
<blockquote><p>Acquiring hardware and configuring software to support web apps are things of the past. Morph Labs brings you the next-generation solution in application deployment, delivery, and management. Reduce your time to market and lower your startup costs no matter if you are an ISV, a developer or a business.</p></blockquote>
<p><strong>About Morph Labs</strong></p>
<blockquote><p><strong>Morph Labs Inc.</strong> <a href="http://www.morphexchange.com/" rel="nofollow" >www.morphexchange.com</a> is a Philippine-based Web 2.0 technology company focused on providing innovative technologies and applications to support Software as a Service (SaaS) globally.</p></blockquote>
<blockquote></blockquote>
<blockquote><p> Morph offers independent software vendors (ISVs), IT consulting organizations, application developers and entrepreneurs the quickest and simplest route to SaaS-enablement. Morph simplifies deployment and management of software as a service with an elastic Web 2.0 delivery and management solution &#8212; the Morph Application Platform.</p></blockquote>
<blockquote></blockquote>
<blockquote><p>Morph Application Platform, powered by Amazon EC2 grid computing technology, combines the elasticity in delivering and managing Web 2.0 applications and the simplicity of deploying software as a service (SaaS).</p>
<p>With no hardware to buy and no software to install and configure, Morph allows developers to easily grow or shrink their application environment on demand without disruption to the application. The Morph Application Platform is offered through a subscription to a Morph AppSpace, which is an instance of the Morph Application Platform.</p></blockquote>
<blockquote><p>Beyond delivery platforms and managed services, Morph will build simplified software applications (that run on our platform) that leverage open source technologies for small and medium businesses.</p>
<p>Morph&#8217;s first on-demand application is Morph helpME (released October 2007), provided via the software as a service model and runs on top of the Morph Application Platform. It&#8217;s an on-demand help and training system that enables sharing of knowledge while reducing overall cost and technical burden.</p>
<p>Morph <a href="http://helpme.morphexchange.com/ruby" rel="nofollow" >helpME</a> is a Ruby on Rails application running on the Morph Application Platform. It&#8217;s automatically formats, structures and creates menus, enabling faster deployment of new content.</p></blockquote>
<p>If you are Ruby on Rails developers, bring your on-demand application to life with the Morph Application and leave the details to us!</p>
<p>Visit <a href="http://mor.ph/" rel="nofollow" >Morph home page</a> to find out more!</p>
<blockquote></blockquote>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/02/16/morph-application-platform-simplifies-ruby-on-rails-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monkeybars: Swing Development for (J)Ruby</title>
		<link>http://www.adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monkeybars-swing-development-for-jruby</link>
		<comments>http://www.adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 16:41:03 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[JRuby]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[288]]></category>
		<category><![CDATA[291]]></category>
		<category><![CDATA[331]]></category>
		<category><![CDATA[359]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/</guid>
		<description><![CDATA[Monkeybars is a library that enables you to make use of Swing from JRuby. Monkeybars aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby. In fact, with most editors you&#8217;ll never even have to look at [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F29%2Fmonkeybars-swing-development-for-jruby%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F29%2Fmonkeybars-swing-development-for-jruby%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Monkeybars: Swing Development for (J)Ruby" alt=" Monkeybars: Swing Development for (J)Ruby" /><br />
			</a>
		</div>
<p><a href="http://monkeybars.rubyforge.org/index.html" rel="nofollow" ><strong>Monkeybars</strong></a> is a library that enables you to make use of Swing from <a href="http://jruby.codehaus.org/" rel="nofollow" >JRuby</a>.</p>
<p><a href="http://monkeybars.rubyforge.org/index.html" rel="nofollow" >Monkeybars</a> aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby. In fact, with most editors you&#8217;ll never even have to look at Java code.</p>
<blockquote><p>Monkeybars was created from a pretty specific need. <a href="http://www.risingtidesoftware.com/" rel="nofollow" >Rising Tide Software</a> company was working on a large Swing application and wanted to be able to easily write all the logic in Ruby via JRuby. The  initial attempts laid the groundwork for what was to become Monkeybars.  Monkeybars has an emphasis on using normal Swing development tools (using <a href="http://www.netbeans.org/" rel="nofollow" >Netbeans 6</a>) and especially the ability to sit down with a client and use a visual designer to create the Swing layouts.</p>
<p>To this end, Monkeybars is designed to reach in and integrate itself with a Java class without any special consideration on the Java side. This means Monkeybars should work with Java code emitted from any Swing form designer, we don&#8217;t parse the code directly so there is no issue with code formatting or code conventions used inside the class.</p>
<p>Want to set up mouse event listeners on all elements in your form?</p>
<p><code>add_listener :type =&gt; :mouse</code></p>
<p>Or how about declaring that only the components okButton and cancelButton should get mouse events?</p>
<p><code>add_listener :type =&gt; :mouse, :components =&gt; ["okButton", "cancelButton"]</code></p></blockquote>
<p><strong>Testing</strong></p>
<blockquote><p>A second important consideration for us was testability. Our early attempts to create a Ruby interface to Swing left us with brittle, difficult to test code. Therefore in Monkeybars we implemented a stark separation between controller and view. All* communication between the two is accomplished via a model which is just a plain Ruby class. This keeps your controllers much more testable. The views also are typically smaller and much easier to test, only being concerned with their methods to convert data from and back into the model.</p></blockquote>
<p align="left">For further details visit: <a href="http://monkeybars.rubyforge.org/index.html" rel="nofollow" >Monkeybars project page</a></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overview of A Rails Plugin</title>
		<link>http://www.adaruby.com/2008/01/27/overview-of-a-rails-plugin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=overview-of-a-rails-plugin</link>
		<comments>http://www.adaruby.com/2008/01/27/overview-of-a-rails-plugin/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 11:48:23 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[294]]></category>
		<category><![CDATA[296]]></category>
		<category><![CDATA[344]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/27/overview-of-a-rails-plugin/</guid>
		<description><![CDATA[A common stumbling block for beginner Rails developers is learning the basics required to write plugins. This is made more complicated by the fact that Ruby is inherently dynamic and offers many techniques for code reuse. Luckily, if you can write Rails applications you can write plugins by simply drawing on a handful of basic [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F27%2Foverview-of-a-rails-plugin%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F27%2Foverview-of-a-rails-plugin%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Overview of A Rails Plugin" alt=" Overview of A Rails Plugin" /><br />
			</a>
		</div>
<p><a href="http://www.alexyoung.org/" rel="nofollow" >A common stumbling block for beginner Rails developers</a> is learning the basics required to write plugins. This is made more complicated by the fact that Ruby is inherently dynamic and offers many techniques for code reuse.</p>
<p>Luckily, if you can write Rails applications you can write plugins by simply drawing on a handful of basic patterns.</p>
<p><strong>Why write plugins?</strong></p>
<blockquote><p>Writing a plugin will:</p>
<ul>
<li>Help make sharing code more efficient, whether it’s between projects or within the same project</li>
<li>Allow you to publish generic code to the community</li>
<li>Save time and increase your confidence by testing once and reusing many times</li>
<li>Share functionality in a robust manner, especially when using namespaces with ActiveRecord</li>
</ul>
</blockquote>
<p><strong>Usage</strong></p>
<blockquote><p>Rails provides installation scripts through <tt>script/plugin install</tt>, and a generator for creating new plugins: <tt>script/generate plugin</tt>. These will work with URLs, saving time when trying out plugins. You can read more about installing and managing plugins at the <a href="http://wiki.rubyonrails.org/rails/pages/Plugins" rel="nofollow" >Rails wiki</a>.</p></blockquote>
<p><strong>Rubyisms</strong></p>
<blockquote><p>Any of the following tools and techniques provided by Ruby are used by plugins to extend functionality:</p>
<ul>
<li>Mixins: including or extending classes using modules</li>
<li>Opening a class or module definition and adding or overriding methods</li>
<li>Dynamic extension through callbacks and hooks: <tt>method_missing</tt>, <tt>Class#inherited</tt>, <tt>Module#const_missing</tt>, <tt>Module#included</tt></li>
<li>Dynamic extension through code generation: <tt>eval</tt>, <tt>class_eval</tt>, <tt>instance_eval</tt></li>
</ul>
<p>These techniques fall into two broad categories:</p>
<ul>
<li>Using modules and classes to extend existing classes, providing new features</li>
<li>Using introspection to adapt generic code to specific cases</li>
</ul>
<p>It’s important to consider exactly what should be extended when writing a plugin. If complex meta-programming to adapt your plugin to the host application is required, care should be taken to ensure concurrency will not produce unexpected results.</p></blockquote>
<p>Hopefully this very short summary clears things a bit. Read more on  <a href="http://alexyoung.org/articles/show/40/a_taxonomy_of_rails_plugins" rel="nofollow" >Alex Young&#8217;s article</a>.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/27/overview-of-a-rails-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RM-Manage: Monitor Your Rails Apps</title>
		<link>http://www.adaruby.com/2008/01/25/rm-manage-monitor-your-rails-apps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rm-manage-monitor-your-rails-apps</link>
		<comments>http://www.adaruby.com/2008/01/25/rm-manage-monitor-your-rails-apps/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 11:29:25 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[296]]></category>
		<category><![CDATA[299]]></category>
		<category><![CDATA[341]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/25/rm-manage-monitor-your-rails-apps/</guid>
		<description><![CDATA[RM-Manage is a monitoring product for Rails applications. Their claim: Building elegant and powerful Rails applications rapidly is important. Ensuring that they perform properly once deployed in production is even more important. A poorly performing or unavailable business-critical application can have a devastating impact on your bottom line, negating the benefits of Rails development. Rails [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F25%2Frm-manage-monitor-your-rails-apps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F25%2Frm-manage-monitor-your-rails-apps%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="RM Manage: Monitor Your Rails Apps" alt=" RM Manage: Monitor Your Rails Apps" /><br />
			</a>
		</div>
<p><a href="http://www.fiveruns.com/products/manage" rel="nofollow" >RM-Manage</a> is a monitoring product for Rails applications. Their claim:</p>
<blockquote><p>Building elegant and powerful Rails applications rapidly is important. Ensuring that they perform properly once deployed in production is even more important. A poorly performing or unavailable business-critical application can have a devastating impact on your bottom line, negating the benefits of Rails development.</p>
<p>Rails applications are more than just Rails itself. Databases like MySQL and Oracle, web servers such as Apache, and even the host operating system each affect performance and availability.</p></blockquote>
<blockquote><p> Although you may have done a great job designing a well-behaved Rails application, the fact is you won’t know how well it will truly perform until you monitor and respond to it in production. RM-Manage wraps the task of monitoring your applications in a simple and affordable interface.</p></blockquote>
<p><strong>Application Browser</strong></p>
<blockquote><p>The Application Browser for Rails allows you to view and filter important performance metrics for your production Rails applications. The application browser quickly gathers collected Model, View and Controller statistics such as averages, slowest and fastest performing models or views and more making it easy to explore application problems and bottlencks.</p>
<p><img src="http://www.fiveruns.com/images/tour/appbrowser-features.jpg?1197314871" height="306" width="360" title="RM Manage: Monitor Your Rails Apps" alt=" RM Manage: Monitor Your Rails Apps" /></p>
<p>Screen Highlights</p></blockquote>
<blockquote>
<ol>
<li>Browse and select a particular system and production Rails application for which to view performance metrics.</li>
<li>See a full list of actions in the selected application grouped by their respective controllers. Select an action to see all its related MVC information.</li>
<li>Take a closer look at the amount of time spent in the controller, model and view layers.</li>
<li>Filter method invocation information by the model, view or controller layer to see common metrics such as average, slowest and fastest invocation times, ordered by severity for the currently selected filter.</li>
</ol>
<p>As your applications evolve and expand, you will encounter performance and availability problems. How will you troubleshoot and accurately diagnose these issues? How will you know for sure if the problem is a bug, a memory leak, a database connection issue, or a design issue? How will you ensure performance and uptime?</p>
<p><img src="http://www.fiveruns.com/images/icons/setup.gif?1197314870" alt=" RM Manage: Monitor Your Rails Apps"  title="RM Manage: Monitor Your Rails Apps" /></p>
<p>RM-Manage is the first and only Rails application monitoring product to instrument and monitor all aspects of the Rails framework and its supporting infrastructure resources.</p>
<p>RM-Manage makes it easy to design your Rails applications for optimal performance and reliability. Define personalized views of performance data (timings, counts, errors, size) based on how you want to view your application. Use the <a href="http://www.fiveruns.com/products" rel="nofollow"  title="Learn more about the FiveRuns Management Suite for Rails">other integrated monitoring services</a> to provide you with all the tools you’ll need to troubleshoot your application and its underlying infrastructure.</p></blockquote>
<p>Interested? Read more at <a href="http://www.fiveruns.com/products/manage" rel="nofollow" >FiveRuns&#8217; site</a>.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/25/rm-manage-monitor-your-rails-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business Intelligence Made Easy: Practical Reporting with Ruby and Rails</title>
		<link>http://www.adaruby.com/2008/01/23/business-intelligence-made-easy-practical-reporting-with-ruby-and-rails/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=business-intelligence-made-easy-practical-reporting-with-ruby-and-rails</link>
		<comments>http://www.adaruby.com/2008/01/23/business-intelligence-made-easy-practical-reporting-with-ruby-and-rails/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 11:15:33 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[282]]></category>
		<category><![CDATA[296]]></category>
		<category><![CDATA[299]]></category>
		<category><![CDATA[312]]></category>
		<category><![CDATA[347]]></category>
		<category><![CDATA[348]]></category>
		<category><![CDATA[349]]></category>
		<category><![CDATA[40]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/23/business-intelligence-made-easy-practical-reporting-with-ruby-and-rails/</guid>
		<description><![CDATA[Practical Reporting with Ruby and Rails is a great book for Ruby and Rails developers seeking to create compelling business intelligence and reporting solutions using a wide variety of applications and services. Published by Apress, and the author is David Berube. Business intelligence and real-time reporting mechanisms play a major role in any of today’s [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F23%2Fbusiness-intelligence-made-easy-practical-reporting-with-ruby-and-rails%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F23%2Fbusiness-intelligence-made-easy-practical-reporting-with-ruby-and-rails%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Business Intelligence Made Easy: Practical Reporting with Ruby and Rails" alt=" Business Intelligence Made Easy: Practical Reporting with Ruby and Rails" /><br />
			</a>
		</div>
<p><a href="http://www.amazon.com/dp/1590599330?tag=adaruby-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=1590599330&amp;adid=0KH949361BNS8H1QG6CE&amp;" rel="nofollow" >Practical Reporting with Ruby and Rails</a>  is a great book for Ruby and Rails developers seeking to create compelling business intelligence and reporting solutions using a wide variety of applications and services. Published by <a href="http://www.apress.com/" rel="nofollow" >Apress</a>, and the author is <a href="http://www.cas.sc.edu/ENGL/faculty/berube/" rel="nofollow" >David Berube</a>.</p>
<blockquote><p>Business intelligence and real-time reporting mechanisms play a major role in any of today’s forward-looking business plans. With many of these solutions being moved to the Web, the popular Rails framework and its underlying Ruby language are playing a major role alongside web services in building the reporting solutions of tomorrow. </p></blockquote>
<blockquote><p><em>Practical Reporting with Ruby and Rails</em> is the first book to comprehensively introduce this popular framework, guiding readers through a wide-ranging array of features. Note this isn’t a staid guide to generating traditional reports, but rather it shows you how the Ruby language and Rails framework can create truly compelling reporting services by plugging into popular third-party applications and services such as Google AdWords, UPS.com, iTunes, and SalesForce.com.</p></blockquote>
<p>There&#8217;s a lot to learn from this book, including:</p>
<blockquote>
<ul>
<li>Create reporting solutions for both the Web and the desktop.</li>
<li>Integrate with powerful third-party retail solutions such as eBay, and Amazon.com in order to monitor your sales campaigns in real-time.</li>
<li>Build an invoice reporting system using Rails and PayPal.</li>
<li>Monitor your sales performance by taking advantage of SugarCRM’s web service offerings.</li>
</ul>
</blockquote>
<p>More resources:</p>
<ul>
<li><a href="http://www.amazon.com/dp/1590599330?tag=adaruby-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=1590599330&amp;adid=0KH949361BNS8H1QG6CE&amp;" rel="nofollow" >Editorial review at Amazon.com</a></li>
</ul>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/23/business-intelligence-made-easy-practical-reporting-with-ruby-and-rails/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

