Unspace.ca: The Agony, The Ecstasy 2

Posted by Steve Longdo Thu, 14 Sep 2006 04:05:00 GMT

Unspace.ca has released some interesting code to the open source community this year. September 13th, 2006 has them unleashing the first Rails plugin code that will make you want to gouge out your own eyes upon viewing the example code.

"The Agony" in the title of this post relates to the release of the HAML plugin. (Somewhat irresponsibly linked to by me, seriously please don't gouge out your eyes) Why, oh why, did they decide to combine white space sensitivity with HTML? Is there a disgruntled postal worker/Python programmer working there or what? Perhaps it is used in some sort of hazing ritual for their new employees.

On the other hand we have "The Ecstasy", the very useful Datagrid. This is an excellent and worthy open source release. It combines functionality with a great example of use. Granted it would be nice if it was packaged as a Rails plugin, but back in March adding routes in a plugin would have been difficult.

Anyway, I am looking forward to see what Unspace.ca will do next, hopefully they will serve up more of "The Ecstasy"

Ruby, Rails, Selenium and testing... 1

Posted by Steve Longdo Thu, 23 Feb 2006 03:44:00 GMT

People that have worked with me in the past know how much I think unit tests are worth. In fact I won't say any more about them. White box testing has a place, it just isn't on my blog.

Selenium is an open source testing framework that will be making products like Mercury Interactive's WinRunner quake in their boots. Being able to do acceptance/functional/regression/Black Box testing of web applications across browser and OS platform boundaries from a single script file is already possible with Selenium. The major testing/QA vendors can't even boast that level of functionality yet. Even better AJAX applications are supported by Selenium. There is a Selenium IDE that works as an extension to Firefox. You can simply record your actions "macro-like" as you navigate through the web application you want to test.

What makes this all the more exciting is the recent selenium_on_rails plugin. It allows you to embed and run your Selenium tests as rake tasks. Automated quality assurance has never been this compelling to include as part of the development process.

So far the only short coming I've observed is the lack of i18n support, however the new .rsel format probably could be used to overcome this. Rsel lets you define your Selenium tests in terms of Ruby code. To see all of this in action take a look at the excellent screencast over at and then nothing.net.

UPDATE: Someone made a good point that I maybe didn't make clear here, Selenium can be used to test ANY web application, not just Rails powered, but even legacy Java, .NET, PHP, or any other caveman languages from the last century. :-)

Rails acts_as_rateable plugin... 2

Posted by Steve Longdo Thu, 09 Feb 2006 19:25:00 GMT

I've gotten quite a bit done on rating. Models can now use the act_as_rateable plugin to track rating information. I've written ActionView Helpers to implement a star rating system and a very cool 1..10 style bar. I've done some preliminary studying of integration with the sciptaculous_slider rails plugin as well.

Remaining todo items include:
  • Rake task to copy images the helpers use to public/images directory.
  • Rake task to setup database tables for storing rating info.
  • Convert the SQL file I've been using into a Migrations style script.
  • Increase Unit Testing coverage.
  • Tying in a rate method on ActionControllers...
This last item is giving me pause though. I was wanting to include a simple rating_controller with the plugin and have it automatically register its route via the init.rb file. I sought out help from the Rails mailing list, but no one could help helped. I may pursue a rake task for adding the route into the routes.rb file. I think this isn't nearly as cool as self-registering a route within the init.rb file, but I haven't had any luck with the methods I have tried so far.

Update: Everytime I post about progress I have made here I find something wrong in my code. I need to re-examine how the view gets updated, somewhere along the way I broke this...
Read more...

Older posts: 1 2 3