public
Description: URL shortener using Sinatra and MongoDB.
Homepage:
Clone URL: git://github.com/dancroak/shorty.git
Dan Lawless (author)
Sat Nov 07 23:38:37 -0800 2009
shorty /
name age message
file .gems Sat Oct 17 12:20:49 -0700 2009 adding hoptoad [dancroak]
file .gitignore Tue Oct 27 19:09:09 -0700 2009 moving stuff around [dancroak]
file README.md Tue Nov 03 17:06:29 -0800 2009 crazy hustling rasta frog test suite works [dancroak]
file config.ru Sat Oct 17 12:20:49 -0700 2009 adding hoptoad [dancroak]
directory features/ Sat Nov 07 23:38:37 -0800 2009 using x [Dan Lawless]
file shorty.rb Tue Nov 03 17:07:18 -0800 2009 final cleanup [dancroak]
README.md

Shorty

A URL shortener written in Sinatra and MongoDB.

Mongo

Follow the Ruby tutorial to learn how to interact with Mongo with Ruby.

Hosting

I recommend using Heroku for the app and MongoHQ for storage.

Feature

Feature 'Shorten URL' do
  Given 'I am on the homepage' do
    visit '/'
  end

  When 'I submit http://dancroak.com' do
    fill_in      'url', :with => 'http://dancroak.com'
    click_button 'shorten'
  end

  Then 'I should see a short link' do
    assert_have_selector 'a#short'
  end

  When 'I follow the short link' do
    click_link 'short'
  end

  Then 'I should be on http://dancroak.com' do
    assert_equal 'http://dancroak.com', current_url
  end
end