Professor Farnsworth mindgames
Something which may be of use to all bloggers and social app builders is that it is pretty easy to pull someones twitter profile photo in RoR heres the code :
# call the twitter api url = 'http://twitter.com/users/show/show.xml?email='+CGI.escape(email@example.com) # get the XML data as a string xml_data = Net::HTTP.get_response(URI.parse(url)).body # extract profile image tag information doc = REXML::Document.new(xml_data) profile_image = nil doc.elements.each('user/profile_image_url') do |ele| profile_image = ele.text end # if we have an image and its not a default avatar then continue if profile_image and ! profile_image.include? "static.twitter.com" begin profile_image=profile_image.gsub("_normal","_bigger") filename="/tmp/"+rand(100000).to_s+File.extname(profile_image).downcase file=open(filename,"w") file.write(open(profile_image).read) file.close # do as you will with the avatar rescue #fail end else #fail end
Creating a controller filter that accepts a parameter is less than obvious as I found today while trying to add more than basic authentication to a controller.
Turns out that you need to do it like this :
before_filter :only => [:create, :update, :destroy] do |controller| controller.filter_function(parameter) end
rather than allowing a parameters array to pass into the before_filter function which would be nice.