Ruby on Rails Jobs

7 Nov 2006

With all the job boards that have been popping up lately, I was starting to feel left out. So, I launched my own. :)

Go visit the newest Ruby on Rails job board to see jobs that will be advertised on every page of AgileWebDevelopment.com, the home of the rails plugin directory.

Jobs will list for $200 for 30 days, but I’m offering a $100 discount for the first week just to kick things off. If you use the coupon code EarlyBird before the 14th, you can list your job for $100 rather than $200.

Do we really need another job board? Yes, for two reasons:

  1. I do think there’s value in having a board that requires an up-front fee for posting, and so far there isn’t one that has a significant reach to the Rails community.
  2. This job board will be advertised on a site that gets a fair amount of traffic from Rails developers who aren’t necessarily looking for a job. In other words, this job board will be well placed for passive job seekers and accidental job discovery.

So, if you’re in the market, fire away and post a job listing to find a Rails developer. If you’re looking for a Rails job, wait a few days until there’s a post or two. :)

And congrats to the JobCoin crew. They’ve put together a cool service.



Test Case Results for Tesly Jr.

19 Oct 2006

I just pushed out a minor update Tesly Jr. that improves the navigation of test run results. Now instead of linking back to the test plan when viewing the details of a test run, the links take you to run-specific information for that test plan. In other words, you can now drill down to the result for each test case for all of your test run history.



Tesly Jr. Gets Email

11 Oct 2006

As requested on the Ruby Talk mailing list, you can now receive emails for failing test cases from Tesly Jr. If you specify on the Profile page that you’d like to receive email notifications, you will receive an email any time a test run includes a test plan that has a failing test case.

Now there is no excuse to not use Tesly Jr. for your continuous integration! :)



Tesly Jr. Launched

5 Oct 2006

Tesly Jr. is an HTML test reporter for automated test frameworks. The first environment to be supported is Ruby’s Test::Unit, complete with a plugin for Ruby on Rails. This Rails plugin can be dropped in to a Rails project to easily add automated reporting to Tesly Jr.

What does this do for you? Well, it provides a pretty GUI interface to your test results. :) It also provides an RSS feed that is updated with the pass percentage of your tests every time you run them. In that way, it’s a good fit for continuous integration systems. Finally, once your test plans and test cases have been created by running your tests (via Rake, as usual, for Rails developers), you can add descriptions to the test plans and test cases to help document what you are testing and why.

Now you can brag to your friends about how many tests you have in your app, or show your clients and customers that you actually have tests. :)

I’d like to support other testing frameworks, like jUnit, etc. To that end, the reporting interface is simple HTTP, so any testing framework that allows for a custom reporter and can send HTTP POST requests can send test result reports to Tesly Jr. I’ll put up some info about how to construct that request at the site eventually, but until then you can contact me for info about how to do it. I’ll be happy to get more frameworks supported by helping you build hooks for your favorite one.



Republish RSS Feeds with Rails

2 Oct 2006

If you’d like to repurpose RSS feeds for display on your site, FeedTools is a great library for fetching and parsing feeds. FeedTools also makes it easy to cache the results of parsing a feed.

In the music store that I’m creating, products can be associated with artists, and those artists often have blogs or other feeds. We can use those feeds to pull info about the artist into the view when displaying a product by the artist. Here’s an example of parsing a feed and displaying the feed items in a view.

The table:

create_table "cached_feeds" do |t|
  t.column "href", :string
  t.column "title", :string
  t.column "link", :string
  t.column "feed_data", :text
  t.column "feed_data_type", :string
  t.column "http_headers", :text
  t.column "last_retrieved", :datetime
end

The helper:

def parse_feed(url)
  return if url.blank?
  FeedTools.configurations[:feed_cache] = "FeedTools::DatabaseFeedCache"
  FeedTools::Feed.open(url)
end

And the view:

< % if @product.artist && feed = parse_feed(@product.artist.feed_url) %>
 

Recent news for < %=h @product.artist.name %>


 

        < % feed.items[0..4].each do |item| %>
         
  • < %= link_to_if item.link, item.title, item.link %> – < %= item.time %>

  •     < % end %>
     

< % end %>

And you’re done. :)