Bom vou mostrar como fiz para utilizar o encurtador de URLs Bit.ly com o Rails 3. Primeiro a criacao do Post. Vou utilizar o recurso do Scaffold para agilizar. rails g scaffold post title:string body:text short_url:string O campo short_url sera utilizado para guardar o link encurtado pelo Bity.ly nas views voce pode simplesmente excluir o campo short_urlno controller do Postdef create @post = Post.new(params[:post]) respond_to do |format| if @post.save encurtaurl(@post) #chama a action que encurtara o link format.html { redirect_to(@post, :notice => 'Postagem cadastrada com sucesso.') } format.xml { render :xml => @post, :status => :created, :location => @post } else format.html { render :action => "new" } format.xml { render :xml => @post.errors, :status => :unprocessable_entity } end end endAntes de criar a action para o encurtador precisamos cadastrar no link http://bit.ly/a/sign_up e pegar a apiKey no link http://bit.ly/account/your_api_key . Ainda no controller do Post adicione a action encurtaurl #/controllers/posts_controller.rb#bit.ly def encurtaurl(post) @post=Post.find(post) require 'open-uri' url= url_for(@post).to_s link = open('http://api.bit.ly/v3/shorten?login=seu_login&apiKey=sua_api_key&longUrl=' + url + '&format=txt').read @post.short_url = link.to_s @post.save end Tem tres formas de utilizar a api do bit.ly: XML, Json e txt. Utilizei txt porque achei a mais simples de implementar, se alguem fizer de outra forma por favor compartilhe conosco. Artist: VATitle: Exotic Wafture #8Label: 3Lime rec.Genre: Classic Trance, Vocal Trance, Uplifting Trance, Dream TranceStore Date:Source: CDDA# Tracks: 30# CDs: 1Length: 03:50:47Format: *.mp3Codec: Lame 3.98Quality: 128 kbpsChannels: Joint Stereo / 44 khzTags: ID3 v2.3, coverNonstop mix: No*.cue: NoArchive size: 211 mbRecovery record: yes Tracklist:01. Mike Foyle Bittersweet Nightshade (Original Mix)02. Paul Van Dyk Haunted03. Witness Of Wonder Emotions In Motion (Original Mix)04. Dash Berlin Never Cry Again (Original Vocal Mix)05. Dash Berlin Till The Sky Falls Down (Extended Mix)06. Ohmna People Get Lost07. Steve May Sublimate08. Dash Berlin With Cerf, Mitiska & Jaren Man On The Run (Andy Duguid Remix)09. Taxi Glistening10. The Scarab Vagabond11. DJ Tatana feat. Jael Always on My Mind (DJ Tatana Sirup Mix)12. Julian Vincent feat. Cathy Burton Certainty (Mark Otten Dub)13. David Amo & Julio Navas pres. Paco Maroto Electronic Electro (David Amo, Julio Navas, Francisco Maroto)14. Dennis De Laat Every Breath (Anthem Instrumental)15. MIKE pres. Caromax Logic (Original Mix)16. Markus Schulz Electro Hairspray17. Markus Schulz feat. Carrie Skipper Never Be The Same18. Armin van Buuren Control Freak (Sander van Doorn Remix)19. Myon & Shane 54 feat. Carrie Skipper Vampire (Club Mix)20. Split Second Midnight Express (Original Mix)21. Ashley Wallbridge Harrier (Original Mix)22. Accessive Rhythm Activate (Original)23. Mat Zo Equinox (Original Mix)24. Leon Bolier pres. Inner Stories Beyond (Original Mix)25. Breakfast Ait Guitar (Breakfasts Campfire Remix)26. Glenn Morrison Contact27. Global Experience Madras28. Temple One Sahara Nights (Steve Brain Remix)29. Jonas Hornblad & C-Systems Still Remember (C-Systems Vocal Mix)30. Beat Service Vision Of The Lost (Original Mix) Download: Parte 01 Parte 02 Parte 03 Um exemplo de como eu fiz para automatizar o envio de imagens para o otimizador de imagens Yahoo Smush.it utilizando Ruby,Rails, Paperclip, Crack e RIO.Infelizmente o Yahoo Smush.it nao dispoe de uma API para envio e download das imagens.Mas e possivel eu enviar uma imagem e receber a resposta atraves de uma