Only when you stop and look down do you see how high you’ve climbed (Photo: Seier)

The latest version of the web framework ruby on rails is slated for an August 22nd release. This much anticipated version comes just one year since the major rewrite involving Rails merging with Merb to give us Rails 3.

What’s new in Rails 3.1?

Currently in release candidate 4, Rails 3.1 will ship out of the box with jQuery, SASS and CoffeeScript. Also, a bunch of new conventions and features have been added such as the Asset Pipeline, HTTP Streaming and Mountable Engines to name a few.
These are just some things to familiarize yourself with as we get closer to the full release.

The Asset Pipeline

One of the most talked about features is the new asset pipeline powered by Sprockets 2.0. There will now be a new directory in our rails apps where our assets will reside. Assets here refer to the sylesheets, javascript and image files.  Sprockets is an asset packaging system that concatenates and serves the stylesheets and javascript. This is a major attempt to help with issues programmers have been having regarding organising these files, especially in large apps and also in engines and plugins. It is here in the asset pipeline where sass/scss becomes our default for css and coffeescript the default for javascript.

HTTP Streaming

A serious attempt is being made by the Rails core team to get our webpages loaded faster and that is what HTTP Streaming used in Rails 3.1 hopes to accomplish. Essentially this allows the browser to secure the necessary assets (javascript, stylesheets and images) while the server is generating a response. This results in faster pages which makes your users happy and we all want happy users! I have linked to quite a few resources that go into depth about this topic at the end of this post.

Mountable Engines

Recall that Rails Engines are basically mini rails apps that can live inside a larger more complex rails application. An engine can have its own models, views, controllers, generators and publicly served static files, just to name a few of its current capabilities.
In addition to that engines will now be capable of having their own routing and helper scope and will also be able to access and take advantage of the new asset pipeline.

These are just some of the many improvements that are being jam packed into the new release. For more information on Rails 3.1 and the changes involved I recommend the following articles and screencasts.

Share

Living on the edge, the view is so much better (Photo: Esparta)

Hey Folks it’s been a while since I posted and a lot has changed in the past few months. Today I’m going to make my come back with a tutorial involving the latest changes in the ruby and rails space. Namely Rails 3-rc and Ruby 1.9.2-rc2, both representing the latest releases from rails and ruby respectively.

First things first is what we’re going to use, our tools include:

This tutorial involves using the Ruby Version Manager (RVM) to install our new ruby and then on top of that we will install the beta release of rails 3. RVM allows you to have many installations of ruby on your system and also lets you switch between the versions easily. I am also assuming that you have worked in ruby and rails before and therefore have a stable version of both already installed including all dependencies and related things like rubygems, git and curl installed.

Install RVM

Now there are quite a few installation requirements that you must have on Ubuntu for your rvm to work properly. According to the RVM website the dependencies can be installed using the following command:

apt-get install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev git-core

Now let’s install RVM, the rvm website gives detailed installation instructions, and it’s as simple as one command.

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

RVM will do the rest and install onto your system. After a successful installation you should see some notes in your terminal screen that speaks about editing your profile if using bash. Add the line below to the end of your .bashrc file.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

If you have a return in your .bashrc file then rvm may do some strange things and rvm suggests you do the following:

This means that if you see ‘[ -z $PS1 ] && return’ then you must change this line to:

if [[ -n $PS1 ]] ; then

… original content that was below the && return line …

fi # <= be sure to close the if.

#EOF .bashrc

After your installation is complete try running the command “rvm notes”, this will list any dependencies for the system. If you ran the command at the beginning of your installation you should be fine though but it is best to double check.

Like I mentioned earlier the installation information at their website is very detailed, so I suggest double checking what you’ve read here there in case you have any issues.

Install Ruby 1.9.2-rc2

Once rvm has been installed you can begin installing ruby easily. The command is

rvm install 1.9.2-rc2

Check to see if the correct ruby has been installed by using the command:

ruby -v

Note however closing the terminal and reopening brings back the default system ruby. To use your newly installed ruby as default run the command.

rvm 1.9.2 –default

Install Rails 3rc

The release candidate for rails 3 is out. At the time of this writing RC is the current release candidate available. To install this under rvm run the following command:

gem install rails –pre

notice no sudo was used because rvm installs gems locally to the ruby being used and not system wide. From my own experience under Ubuntu I would still get a permission denied error for not using sudo. If you come across this problem use

rvmsudo gem install rails –pre

this is what worked for me.

That’s basically all you need to do to get started with both release candidates of ruby and ruby on rails. It’s a great way to develop new applications that you wish to have running on the latest versions when they are finally released and also a great way to upgrade older applications as well.

Share

Good day readers I know I’ve been missing in action for the past month but I’ve had quite a bit going on. I started a new job and needed the time to get myself up to speed with everything going on at the company. But enough about me let’s get into what’s been happening in the ruby and ruby on rails world since I’ve been gone.

First off, IronRuby gets stable after 3 years of development by Microsoft with the release of version 1.0. IronRuby is Microsoft’s attempt at bringing Ruby to.NET making it run natively to the DLR.

You can get IronRuby 1.0 in two formats – .NET 4.0 Windows installer or ZIP file, and a .NET 2.0 SP1 Windows installer or ZIP file. You can find out everything you need to know about the sexy new version at IronRuby.net. This in my opinion just goes to show that the Ruby programming language is here to stay with other implementations such as MacRuby available as well.

Next up is more IronRuby News, a video below showing Silverlight in conjunction with IronRuby to get Ruby in the web browser. IronRuby shows its stuff with some interactive circles for you viewing pleasure and amusement.

Ruby Silverlight – Interactive Circles from Jimmy Schementi on Vimeo.

That’s it for today but I will be posting regularly again with all the latest developments in the world of Ruby and Ruby on Rails. Please Stay Tuned and Thanks for Your Patience!

Share

Sending and receiving emails from your Rails apps can be a hassle sometimes. You have to set up queues, pollers, smtp servers and the list goes on. The common answer to this problem is to use GMail smtp servers to send your mail for you.

Taking it a step further is Remail which brings REST to email. This is how the creator Alex MacCaw at LeadThinking.com puts it. But it really gets very simple: To send an email – just send a POST request to your Remail Google App Engine, and To receive an email – Remail will send a POST request to a callback URL. That’s pretty much all there is to it.

If you’re still skeptical just check out the how to guide which shows you just how to get everything running. Basically a remail engine is deployed onto a Google App Engine Project and you then receive and send the emails over a REST interface provided by the Google app and Google handles the email magic from their end.

What’s the downside? Google App Engine only allows 2000 e-mails to be sent per day on free accounts. This should be enough for most small apps. If you really need more you will have to pay but the prices are not outrageous allowing your ruby on rails application to send millions of e-mails per day reliably. This is definitely worth checking out especially with the ability to receive emails as well as send them.

Share

One of the common things we as Rails developers have to implement in commercial web apps is an area for receiving payments. PayPal has become almost a standard acceptable form of payment in the realm of e-commerce. So it would make sense to add this type of functionality to your web application.

For anyone who has ever tried and failed or those looking for an easier way than you may have implemented already check out this tutorial over at Railscasts. It is thorough and gives you clear instructions on how to get the checkout section of your site up and running! Any other ideas on how to add PayPal express to you rails app or any other form of e-commerce feel free to let me know in the comments section.

Share
Lonely Rubyist Seeks User Group
By Brett | 11th Mar, 2010 |

One of the things I find most important for any profession or hobby is being among people who share your passion for the particular subject. I have been faced with the challenge of finding Ruby User Groups in my area but where does one look? I finally came across the answer in an article at RubyInside.com

It describes how to find  Ruby User Groups (RUGS) anywhere in the world. So if you’re like me and looking for a place to share your ideas and have some fun you can have a look at these websites as well as take a look at the full article (which includes maps) to find the RUG closest to you!

RubyMeetup RubyUserGroups.com

Share

Hobo, is an open source web app builder for ruby on rails. Oh wow not another one you say? Well I wouldn’t say that just yet if I were you. Hobo allows for RAPID development of web applications. It has finally reached version 1.0 after being in development for over 3 years.

I have checked Hobo out myself and it really speeds up development and has a lot to offer. To help you get started the Hobo team have released two free ebooks explaining the builder for beginners and then continuing in great detail.

The goal of the Hobo team is to reduce the amount of code you have to write. Face it most web apps have a similar set of basic functionality used over and over so they take advantage of that but at the same time give developers the flexibility we need to create excellent apps.

“It turns out that the hard part is not going fast, but staying flexible. This is where we think Hobo really shines. Of course this approach is common to all frameworks—everything that Rails provides is there because many or all web applications will need it: database connectivity, session management, working with HTTP, etc. etc. The difference with Hobo is that we are trying to take this idea to a much higher level than is normally expected from a web framework. The ultimate goal is: don’t program your application, just declare it.”

I suggest you take a serious and intense look at Hobo. Check out the screencast below by Tom Locke of the Hobo team and even try building a Hobo app in just two minutes

Hobo Screencast – Introduction from Tom Locke on Vimeo.

Share

BitNami, has released ready to run package of the latest Ruby on Rails 3 beta release called BitNami Ruby Stack. The stack which is integrated makes it very easy for a user to set up a Rails 3 beta environment for development or testing without interfering with other software installed on a his system.

The latest release of BitNami RubyStack includes Ruby and RubyGems, Git, Apache, Nginx, and tons of other components and gems. Basically anything you would need to set up the right environment is included in this release. If this were not enough it is available for free as a native installer, for deployment directly on any platform including the usual Linux, Windows or OS X machine, but also great for virtualisation in VMWare or VirtualBox environment, or as an Amazon Machine Image (AMI) for deployment to the Amazon EC2 cloud.

BitNami RubyStack is available for download at http://bitnami.org/stack/rubystack and you can learn a lot more about its capabilities there as well.

Share

Welcome readers to the inaugural post of absoluteruby.com. I wondered what should the first post be about and decided on a simply describing what ruby is and what it has accomplished thus far. Ruby, in my humble opinion (imho) is the precious stone amongst programming languages – yes pun intended!

Some of you may be going: what the hell is ruby anyway? Well allow me to first address that question. First released in December 1995, Ruby, is an open source object oriented programming language developed by Yukihiro “matz” Matsumoto of Japan. It is a beautiful language that is a blend of Perl, Smalltalk, Eiffel, Ada, and Lisp (the favourite languages of its creator) in an attempt to balance functional programming with imperative programming.

Features of Ruby

In Ruby, EVERYTHING is an object no exceptions! Here are a few features of ruby as listed on Wikipedia. These will give you an idea of what´s under the hood in ruby.

  • Large standard library

Ruby on Rails (ROR)

Ruby on Rails is a web framework written in ruby for developing Web applications easily and quickly. Several large websites such as scribd.com and the Changes application on facebook are written using ruby and ruby on rails. Rails can easily be considered one of the most popular ruby apps and possibly the future of web application development.

Merb

Similar to Ruby on Rails, Merb is an MVC framework for developing Web applications. It is built to be light, fast and flexible with tons of features to help get your web applications off the ground and standing proud.

How do I get started?

Ok I know by now you are excited and ready to get started with ruby and making your new and awesome apps! This is how you get started, simply visit the ruby website and follow the instructions there and you will be up and running in 20 minutes. Trust me if you are new to programming ruby is for you, if you are a veteran programmer ruby is for you!

Well that´s it for now I hope you enjoyed the post. Please subscribe to my rss feed. Happy Programming

Share