Skip to content

Instantly share code, notes, and snippets.

@mislav
Created September 27, 2009 15:31
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mislav/194816 to your computer and use it in GitHub Desktop.
Save mislav/194816 to your computer and use it in GitHub Desktop.
URI templates are, like, super-useful
# https://github.com/sporkmonger/addressable/
require 'addressable/template'
# http://dev.twitter.com/doc/get/statuses/followers
template = Addressable::Template.new 'http://{host=twitter.com}' +
'/statuses/followers{-prefix|/|id}.{format=json}' +
'?{-join|&|user_id,screen_name,cursor}'
template.expand(:id => 'mislav')
# => http://twitter.com/statuses/followers/mislav.json?
template.expand(:id => 'mislav', :format => 'xml')
# => http://twitter.com/statuses/followers/mislav.xml?
template.expand(:user_id => 7516242)
# => http://twitter.com/statuses/followers.json?user_id=7516242
template.expand(:screen_name => 'mislav', :cursor => -1)
# => http://twitter.com/statuses/followers.json?screen_name=mislav&cursor=-1
template.expand(:host => 'api.tweetmuffler.com', :id => 'mislav')
# => http://api.tweetmuffler.com/statuses/followers/mislav.json?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment