Tag Archive: ruby

Objective Resource for Faster iPhone Development

I recently came across Objective Resource for developing iPhone applications that talk with a Rails backed website. According to the site,

ObjectiveResource is an Objective-C port of Ruby on Rails’ ActiveResource. It provides a way to serialize objects to and from Rails’ standard RESTful web-services (via XML or JSON) and handles much of the complexity involved with invoking web-services of any language from the iPhone.

I’ve had a chance to play with it this weekend and have found it to be pretty easy to work with. The developers of Objective Resource have created a pretty good Getting Started Guide you can follow, or you can watch a screencast of it as well. They even offer an example project for you to work with that gives you both the iPhone app (via Xcode) and the Rails app so you can see how everything works together.

One thing the example project does not include is accessing a Rails app that has authentication. Of course I was thinking I was all setup for this, but soon realized that I did not add my Active Resource functions in so that my app would work with XML/JSON requests. Luckily, while I was out in Denver, CO for iPhone Development Training (by Pragmatic Studio) I was able to get my hands on a copy of Advanced Rails Recipes by Mike Clark. I was extremely pleased that Mike graciously gave me the copy he had laying there for free. The particular recipe in the book that helped me was the Authenticate REST Clients. After I rewrote my authentication piece of my Rails app, I was getting data back and into my iPhone app. It was a very good feeling!

I thought I would include the screencast that the Objective Resource developers created. It runs about 6 minutes and is definitely worth a watch if you are looking at using Objective Resource for your next iPhone app backed by a Rails app.


Getting Started with Objective Resource from Josh Vickery on Vimeo.

Ruby Vulnerabilities

An Apple Product Security technician has identified multiple vulnerabilities with Ruby, which if exploited could be used in denial of service attacks. It does not have to be just Mac OS X that this afects. It looks like it’s all versions based on the official post from the Ruby development team.  To find out what version of Ruby you are using open up Terminal or your command-line prompt client and type

ruby –version

You should get something like this

ruby 1.8.6 (2008-06-20 patchlevel 230) [i686-darwin9.3.0]

Now you can see that’s I’ve already went ahead and updated my version, so yours might have patch 110 if there was a patch level. To update your Ruby version all you need to do is visit the link above and choose which patch you need to install.  For us Ruby on Rails developers you’ll need to upgrade to Ruby 1.8.6 patch 230. You can download it here and type the following in your command-line prompt.

curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p230.tar.gz
tar xzvf ruby-1.8.6-p230.tar.gz
cd ruby-1.8.6-p230
./configure –enable-shared –enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
make
sudo make install
cd ..

You can then check your version by typing.

ruby –version

If you have any problems, feel free to comment below.

UPDATE: After posting this I was having a hard time keeping an instance of mongrel running.  I did some searching and found out that the option they have offered us does have a bug still in it.  So what that means is that we either update and have issues or stay at what we’re currently at and deal with the possibility of denial of service attacks.  Keep your eyes posted to the Ruby on Rails blog for an update. I’ll post another update here as well once things are figured out.