twaud.io bindings for Ruby

This gem provides bindings to http://twaud.io which allows you to post audio to twitter.

It’s crazy simple and depends on HTTParty. I’ve not added it as a gem dependency because there are various forks of HTTParty about that you might want to use and I don’t want to prescribe a certain one



require 'rubygems'
require 'twaudio'

twaudio = Twaudio.new 'twitter_user', 'twitter_pass'

# get details of a clip

twaudio.sound('4J') 
=> {"message"=>"testing twaudio ruby bindings", "user"=>"danwrong", "listens"=>3, 
"url"=>"http://twaud.io/4J", "audio_url"=>"http://twaud.io/audio/4J", 
"created_at"=>"Thu, 09 Jul 2009 09:58:48 +0000"}

twaudio.user('danwrong')
=> [{"message"=>"testing twaudio ruby bindings", "user"=>"danwrong", 
"listens"=>3, "url"=>"http://twaud.io/4J", "audio_url"=>"http://twaud.io/audio/4J", 
"created_at"=>"Thu, 09 Jul 2009 09:58:48 +0000"}, {"message"=>"Atmosphere @ Scala", 
"user"=>"danwrong", "listens"=>56, "url"=>"http://twaud.io/0k", 
"audio_url"=>"http://twaud.io/audio/0k", 
"created_at"=>"Wed, 24 Jun 2009 20:21:11 +0000"}, 
{"message"=>"It always freaks me out when this comes on when I have iTunes on shuffle...", 
"user"=>"danwrong", "listens"=>69, "url"=>"http://twaud.io/sd", 
"audio_url"=>"http://twaud.io/audio/sd", "created_at"=>"Fri, 19 Jun 2009 10:56:25 +0000"},

# ...and so on

dope_funky_fresh_tune = File.new('mc_flaps.mp3')

twaudio.upload('this shit is the flyest!!!!', dope_funky_fresh_tune)
=> {"message"=>"this shit is the flyest!!!!", "user"=>"danwrong", "listens"=>0, 
"url"=>"http://twaud.io/34j4", "audio_url"=>"http://twaud.io/audio/34j4", 
"created_at"=>"Thu, 09 Jul 2009 09:58:48 +0000"}

At the moment it’s just a stupidly thin wrapper around HTTParty but it does the job.

I’ll probably beef it up a little as needed.