RubyURL.com in a hour...
4 comments Latest by ed hardy sunglass Wed, 10 Mar 2010 08:21:42 GMT
Ok, I will admit it. I spent much longer than a hour on this. I spent about a hour coding, testing and adding a few CSS tags to the few pages. I spent a few hours trying to figure out why my RewriteRule was not working.
At about 10pm on Sunday evening, I had an idea… hey, I’ll spend the rest of the night on a simple Rails project… and after being sent a link for a tinyurl, I thought, Hey, I’ll just create RubyURL.com. So, I checked godaddy.com, the domain was available and I will now own it until this time next year.
The system thus far comprises of 1 database table, 2 controllers and 1 model that were added to the default rails install. (not including the Rails templates for new.rhtml and show.rhtml).
The random character string function that I used is here: This allos me to create some random alpha-numeric string like ur029
class Rubyurl < ActiveRecord::Base
def self.gen_random(size=5)
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
short_url = ""
srand
size.times do
pos = rand(chars.length)
short_url += chars[pos..pos]
end
short_url
end
end
So, with the standard usage of scaffold I was able to create a random string prior to saving my form:
def create
@rubyurl = Rubyurl.new(@params['rubyurl'])
@rubyurl['short_url'] = Rubyurl.gen_random(5)
if @rubyurl.save
flash['notice'] = 'Rubyurl was successfully created.'
redirect_to :action => 'show', :id => @rubyurl.id
else
render_action 'new'
end
end
The last part in the ruby code was to make it actually redirect to another location:
class GoController < ApplicationController
scaffold :rubyurl
def go
end
def index
@url = Rubyurl.find_first(["short_url = ?", @params["id"]])
if @url['website_url']
redirect_to @url['website_url']
end
end
end
... so just over 2 1/2 hours later (mainly due to a problem with the RewriteRule..), I am now happy to announce the alpha release of RubyURL.
I’ll write more about my findings when I wake up.. off to bed.
Enjoying the content? Be sure to subscribe to my RSS feed.






Hey! Ruby is not working now.. What is happening?... :(((
Have you noticed that your system is used by blog spammers? Just google for rubyurl.com
Have you noticed that your system is used by blog spammers
Ruby is not working now