<?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; Ruby</title>
	<atom:link href="http://www.adaruby.com/category/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adaruby.com</link>
	<description>Rich Dynamic Applications with Ruby on Rails</description>
	<lastBuildDate>Fri, 02 Jul 2010 09:06:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Aquarium 0.4.2: Aspect-Oriented Programming for Ruby</title>
		<link>http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/</link>
		<comments>http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/#comments</comments>
		<pubDate>Wed, 28 May 2008 03:48:23 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[JRuby]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Aquarium]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/</guid>
		<description><![CDATA[
			
				
			
		
Aquarium is a framework that implements Aspect-Oriented Programming (AOP) for Ruby. The premise of AOP is that some concerns in an application will  cut across the natural object boundaries of the problem domain. Rather than scatter duplicated code in each object to handle the cross-cutting concern, AOP modularizes the specification of which execution points [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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%2F05%2F27%2Faquarium-042-aspect-oriented-programming-for-ruby%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F05%2F27%2Faquarium-042-aspect-oriented-programming-for-ruby%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly" height="61" width="50" title="Aquarium 0.4.2: Aspect Oriented Programming for Ruby" alt=" Aquarium 0.4.2: Aspect Oriented Programming for Ruby" /><br />
			</a>
		</div>
<p>Aquarium is a framework that implements Aspect-Oriented Programming (AOP) for Ruby. The premise of AOP is that some concerns in an application will  cut across the natural object boundaries of the problem domain. Rather than scatter duplicated code in each object to handle the cross-cutting concern, AOP modularizes the specification of which execution points are affected (called join points) and the actions that should be invoked at those points.</p>
<p><strong>New in V0.4.0</strong>: Preliminary support for advising Java classes in JRuby! See the discussion <a href="http://aquarium.rubyforge.org/jruby.html" rel="nofollow" >here</a>.</p>
<p>See also the <a href="http://rubyforge.org/projects/aquarium/" rel="nofollow" >RubyForge project page</a>.</p>
<h3><strong>Usage </strong></h3>
<p>Aquarium provides a Domain Specific Language (DSL) with which you can express “aspectual” system behaviour in a modular way, <em>i.e.,</em> using a succinct language and without repeating yourself all over your code base!</p>
<p>Imagine you want to trace all invocations of the public, instance methods in all classes whose names end with “Service”. Here’s how you can implement that behavior in Aquarium:</p>
<pre>
<pre class="brush: ruby;">class ServiceTracer
    include Aquarium::Aspects::DSL::AspectDSL
    before :calls_to =&gt; :all_methods, :in_types =&gt; /Service$/ do |join_point, object, *args|
      log &quot;Entering: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&quot;
    end
    after :calls_to =&gt; :all_methods, :in_types =&gt; /Service$/ do |join_point, object, *args|
      log &quot;Leaving: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&quot;
    end
end</pre>
<p>A more succinct implementation of this behavior uses <code>#around</code> advice:</pre>
<pre>
<pre class="brush: ruby;">class ServiceTracer
    include Aquarium::Aspects::DSL::AspectsDSL
    around :calls_to =&gt; :all_methods, :in_types =&gt; /Service$/ do |join_point, object, *args|
      log &quot;Entering: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&quot;
      result = join_point.proceed
      log &quot;Leaving: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&quot;
      result  # block needs to return the result of the &quot;proceed&quot;!
    end
end</pre>
<p>See the <a href="http://aquarium.rubyforge.org/examples.html" rel="nofollow" >Examples</a> and the <a href="http://aquarium.rubyforge.org/documentation/API/index.html" rel="nofollow" >API</a> section for more details.</pre>
<p><strong>Start Here </strong></p>
<pre class="brush: bash;">$ gem install -y aquarium</pre>
<p>See the <a href="http://aquarium.rubyforge.org/download.html" rel="nofollow" >download</a> page for different options or go directly to <a href="http://rubyforge.org/frs/?group_id=4281" rel="nofollow" >Rubyforge download</a> page.</p>
<p>more resources: <a href="http://aquarium.rubyforge.org/" rel="nofollow" >Aquarium.rubyforge home page</a>.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/feed/</wfw:commentRss>
		<slash:comments>2</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/</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 ruby ri [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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" 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="Ruby-like firetruck" 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=':-)' 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://mitcho.com/code/yarpp/'>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/</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. trailing &#8216;+&#8217;).
Backslashes at the end [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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" 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://mitcho.com/code/yarpp/'>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>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/</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. This [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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" 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://mitcho.com/code/yarpp/'>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>Advanced Rails: Go to the next level with Rails</title>
		<link>http://www.adaruby.com/2008/03/16/advanced-rails-go-to-the-next-level-with-rails/</link>
		<comments>http://www.adaruby.com/2008/03/16/advanced-rails-go-to-the-next-level-with-rails/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 08:00:52 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[book]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/03/16/advanced-rails-go-to-the-next-level-with-rails/</guid>
		<description><![CDATA[
			
				
			
		

Advanced Rails offers you an in-depth look at techniques for dealing with databases, security, performance, web services and much more.
O&#8217;Reilly Media, Inc. published an intermediate-to-expert Rails book, authored by Brad Ediger:
Chapters in this book help you understand not only the tricks and techniques used within the Rails framework itself, but also how to make use [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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%2F16%2Fadvanced-rails-go-to-the-next-level-with-rails%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F16%2Fadvanced-rails-go-to-the-next-level-with-rails%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly" height="61" width="50" title="Advanced Rails: Go to the next level with Rails" alt=" Advanced Rails: Go to the next level with Rails" /><br />
			</a>
		</div>
<p><a href="http://www.amazon.com/gp/product/0596510322?ie=UTF8&amp;tag=adaruby-20&amp;link_code=as3&amp;camp=211189&amp;creative=373489&amp;creativeASIN=0596510322" rel="nofollow"  title="Advanced Rails book cover"><img src="http://localhost/~ceefour/adaruby.com/wp-content/uploads/2008/03/212klm7sfl_aa_sl160_.jpg" alt="Advanced Rails" title="Advanced Rails: Go to the next level with Rails" /></a></p>
<p><strong><a href="http://www.amazon.com/dp/0596510322?tag=adaruby-20&amp;camp=0&amp;creative=0&amp;linkCode=as1&amp;creativeASIN=0596510322&amp;adid=16BDDCJ0N0X01HK3VGQ0&amp;" rel="nofollow"  title="Advanced Rails on Amazon.com">Advanced Rails</a></strong> offers you an in-depth look at techniques for dealing with databases, security, performance, web services and much more.</p>
<p><a href="http://www.oreilly.com/" rel="nofollow" >O&#8217;Reilly Media</a>, Inc. published an intermediate-to-expert Rails book, authored by <a href="http://www.amazon.com/exec/obidos/search-handle-url/103-4936069-1092629?%5Fencoding=UTF8&amp;search-type=ss&amp;index=books&amp;field-author=Brad%20Ediger" rel="nofollow" >Brad Ediger</a>:</p>
<blockquote><p>Chapters in this book help you understand not only the tricks and techniques used within the Rails framework itself, but also how to make use of ideas borrowed from other programming paradigms. Advanced Rails pays particular attention to building applications that scale &#8212; whether &#8220;scale&#8221; means handling more users, or working with a bigger and more complex database.</p></blockquote>
<blockquote></blockquote>
<p>You&#8217;ll find plenty of examples and code samples that explain:</p>
<blockquote>
<ul>
<li>Aspects of Ruby that are often confusing or misunderstood</li>
<li>Metaprogramming</li>
<li>How to develop Rails plug-ins Different database management systems</li>
<li>Advanced database features, including triggers, rules, and stored procedures</li>
<li>How to connect to multiple databases</li>
<li>When to use the Active Support library for generic, reusable functions Security principles for web application design, and security issues endemic to the Web When and when not to optimize performance</li>
<li>Why version control and issue tracking systems are essential to any large or long-lived Rails project</li>
<li>Advanced Rails also gives you a look at REST for developing web services, ways to incorporate and extend Rails, how to use internationalization, and many other topics.</li>
</ul>
</blockquote>
<p><a href="http://www.amazon.com/dp/0596510322?tag=adaruby-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0596510322&amp;adid=1B5PH5PSP8TRB70WQNQC&amp;" rel="nofollow" >Advanced Rails</a> is an essential resource for improving your skills on Rails through advanced techniques.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/03/16/advanced-rails-go-to-the-next-level-with-rails/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/</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 [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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" 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" 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://mitcho.com/code/yarpp/'>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>Ruby on Rails Web Hosting for Canadian Sites</title>
		<link>http://www.adaruby.com/2008/02/05/ruby-on-rails-web-hosting-for-canadian-sites/</link>
		<comments>http://www.adaruby.com/2008/02/05/ruby-on-rails-web-hosting-for-canadian-sites/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 00:18:48 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Rails Hosting]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[296]]></category>
		<category><![CDATA[313]]></category>
		<category><![CDATA[314]]></category>
		<category><![CDATA[317]]></category>
		<category><![CDATA[328]]></category>
		<category><![CDATA[351]]></category>
		<category><![CDATA[355]]></category>
		<category><![CDATA[357]]></category>
		<category><![CDATA[365]]></category>
		<category><![CDATA[367]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/02/05/ruby-on-rails-web-hosting-for-canadian-sites/</guid>
		<description><![CDATA[
			
				
			
		
Canadian Web Hosting provides shared, VPS, and dedicated web hosting for Canadian sites. They operate from a 1st Class Colocation       facility located at Harbour Center       in downtown Vancouver, BC, Canada. The advantage to international (i.e. non-Canadian) hosting services are obvious: they are much [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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%2F05%2Fruby-on-rails-web-hosting-for-canadian-sites%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F02%2F05%2Fruby-on-rails-web-hosting-for-canadian-sites%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly" height="61" width="50" title="Ruby on Rails Web Hosting for Canadian Sites" alt=" Ruby on Rails Web Hosting for Canadian Sites" /><br />
			</a>
		</div>
<p><a href="http://www.canadianwebhosting.com/" rel="nofollow" >Canadian Web Hosting</a> provides shared, VPS, and dedicated web hosting for Canadian sites. They operate from a 1st Class Colocation       facility located at Harbour Center       in downtown Vancouver, BC, Canada. The advantage to international (i.e. non-Canadian) hosting services are obvious: they are much faster to access from Canada (with an added bonus that you pay in your native Canadian Dollars currency! <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' title="Ruby on Rails Web Hosting for Canadian Sites" />  Hence, if your customers and/or your business is <a href="http://www.canadaonrails.org/" rel="nofollow" >based on Canada</a>, hosting your Rails site with them might be a perfect fit.</p>
<p>The shared hosting plans offered by Canadian Web Hosting starts from the tight-budget CAD$3.95/mo (2 year prepayment). Ruby on Rails support is provided with the <a href="http://www.canadianwebhosting.com/standard_hosting.asp" rel="nofollow" >CA Pro plan</a> which is only CAD$15.95/month (2 year prepayment), with 3500 GB bandwidth, and 300 GB space. All the &#8220;standard&#8221; web hosting stuff, like PHP 4/5, MySQL,  are available, including support for advanced features such as PostgreSQL, SSH, ColdFusion MX 8 (seriously), ImageMagick, <a href="http://www.canadianwebhosting.com/standard_hosting.asp" rel="nofollow" >and more</a>.</p>
<p>There&#8217;s no initial setup fee (hosting account setup is free!) and they provide 30-day money-back guarantee. So you can try their services and features without risking anything, really.</p>
<p><a href="http://www.canadianwebhosting.com/vps.asp" rel="nofollow" >VPS plans</a> are also available starting from an affordable CAD$25.95/month (2 year prepaid), that some of you demanding more control would prefer. They also provide Intel Dual Core and Quad-Core Xeon-powered <a href="http://www.canadianwebhosting.com/dedicated-server-hosting.asp" rel="nofollow" >dedicated servers</a> (with Red Hat/CentOS operating system), which would be more cost-effective for those who have larger number of clients or require better stability and guaranteed resources.</p>
<p>This is a sponsored post.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/02/05/ruby-on-rails-web-hosting-for-canadian-sites/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Design Patterns in Ruby: Software Engineering, The Ruby Way</title>
		<link>http://www.adaruby.com/2008/01/31/design-patterns-in-ruby-software-engineering-the-ruby-way/</link>
		<comments>http://www.adaruby.com/2008/01/31/design-patterns-in-ruby-software-engineering-the-ruby-way/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 11:21:43 +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[Opinions]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[299]]></category>
		<category><![CDATA[308]]></category>
		<category><![CDATA[309]]></category>
		<category><![CDATA[318]]></category>
		<category><![CDATA[319]]></category>
		<category><![CDATA[343]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/31/design-patterns-in-ruby-software-engineering-the-ruby-way/</guid>
		<description><![CDATA[
			
				
			
		
Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Addison-Wesley Professional press has this exciting book, authored by Russ Olsen.
Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. Most design pattern books are based [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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%2F31%2Fdesign-patterns-in-ruby-software-engineering-the-ruby-way%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F31%2Fdesign-patterns-in-ruby-software-engineering-the-ruby-way%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly" height="61" width="50" title="Design Patterns in Ruby: Software Engineering, The Ruby Way" alt=" Design Patterns in Ruby: Software Engineering, The Ruby Way" /><br />
			</a>
		</div>
<p><a href="http://www.amazon.com/gp/product/0321490452?ie=UTF8&amp;tag=adaruby-20&amp;link_code=as3&amp;camp=211189&amp;creative=373489&amp;creativeASIN=0321490452" rel="nofollow" ><strong>Design Patterns in Ruby</strong></a> documents smart ways to resolve many problems that Ruby developers commonly encounter. Addison-Wesley Professional press has this exciting book, authored by <a href="http://www.amazon.com/exec/obidos/search-handle-url/105-0627583-5658824?%5Fencoding=UTF8&amp;search-type=ss&amp;index=books&amp;field-author=Russ%20Olsen" rel="nofollow" >Russ Olsen</a>.</p>
<blockquote><p>Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. Most design pattern books are based on C++ and Java. But Ruby is different—and the language&#8217;s unique qualities make design patterns easier to implement and use.</p>
<p>In this book, Russ Olsen demonstrates how to combine Ruby&#8217;s power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code.The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and &#8220;mixins&#8221; for easier code reuse.</p>
<p><strong>Design Patterns in Ruby </strong>also identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based &#8220;Convention over Configuration&#8221; pattern, designed to help integrate entire applications and frameworks.</p></blockquote>
<p>More resources:</p>
<ul>
<li><a href="http://www.amazon.com/gp/product/0321490452?ie=UTF8&amp;tag=adaruby-20&amp;link_code=as3&amp;camp=211189&amp;creative=373489&amp;creativeASIN=0321490452" rel="nofollow" >&#8220;Design Patterns in Ruby&#8221; at Amazon.com</a></li>
<li><a href="http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?z=y&amp;endeca=1&amp;isbn=0321490452&amp;itm=9" rel="nofollow" >Review at barnesandnoble homepage</a></li>
</ul>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/31/design-patterns-in-ruby-software-engineering-the-ruby-way/feed/</wfw:commentRss>
		<slash:comments>1</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/</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 Java [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>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" 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://mitcho.com/code/yarpp/'>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>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/</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://mitcho.com/code/yarpp/'>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" 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://mitcho.com/code/yarpp/'>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>1</slash:comments>
		</item>
	</channel>
</rss>
