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.