voxdolo-httparty 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/History +108 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Manifest +55 -0
  4. data/README +35 -0
  5. data/Rakefile +47 -0
  6. data/bin/httparty +98 -0
  7. data/cucumber.yml +1 -0
  8. data/examples/aaws.rb +32 -0
  9. data/examples/basic.rb +11 -0
  10. data/examples/delicious.rb +37 -0
  11. data/examples/google.rb +16 -0
  12. data/examples/rubyurl.rb +14 -0
  13. data/examples/twitter.rb +31 -0
  14. data/examples/whoismyrep.rb +10 -0
  15. data/features/basic_authentication.feature +20 -0
  16. data/features/command_line.feature +7 -0
  17. data/features/deals_with_http_error_codes.feature +26 -0
  18. data/features/handles_multiple_formats.feature +34 -0
  19. data/features/steps/env.rb +15 -0
  20. data/features/steps/httparty_response_steps.rb +26 -0
  21. data/features/steps/httparty_steps.rb +15 -0
  22. data/features/steps/mongrel_helper.rb +55 -0
  23. data/features/steps/remote_service_steps.rb +47 -0
  24. data/features/supports_redirection.feature +22 -0
  25. data/httparty.gemspec +37 -0
  26. data/lib/core_extensions.rb +175 -0
  27. data/lib/httparty/cookie_hash.rb +9 -0
  28. data/lib/httparty/exceptions.rb +7 -0
  29. data/lib/httparty/module_inheritable_attributes.rb +25 -0
  30. data/lib/httparty/parsers/json.rb +74 -0
  31. data/lib/httparty/parsers/xml.rb +209 -0
  32. data/lib/httparty/parsers.rb +4 -0
  33. data/lib/httparty/request.rb +139 -0
  34. data/lib/httparty/response.rb +17 -0
  35. data/lib/httparty/version.rb +3 -0
  36. data/lib/httparty.rb +201 -0
  37. data/setup.rb +1585 -0
  38. data/spec/fixtures/delicious.xml +23 -0
  39. data/spec/fixtures/empty.xml +0 -0
  40. data/spec/fixtures/google.html +3 -0
  41. data/spec/fixtures/twitter.json +1 -0
  42. data/spec/fixtures/twitter.xml +403 -0
  43. data/spec/fixtures/undefined_method_add_node_for_nil.xml +2 -0
  44. data/spec/hash_spec.rb +49 -0
  45. data/spec/httparty/cookie_hash_spec.rb +38 -0
  46. data/spec/httparty/parsers/json_spec.rb +42 -0
  47. data/spec/httparty/parsers/xml_spec.rb +445 -0
  48. data/spec/httparty/request_spec.rb +205 -0
  49. data/spec/httparty/response_spec.rb +53 -0
  50. data/spec/httparty_spec.rb +259 -0
  51. data/spec/spec.opts +3 -0
  52. data/spec/spec_helper.rb +21 -0
  53. data/spec/string_spec.rb +27 -0
  54. data/website/css/common.css +47 -0
  55. data/website/index.html +74 -0
  56. metadata +133 -0
@@ -0,0 +1,23 @@
1
+ <posts user="jnunemaker" tag="ruby">
2
+ <post href="http://roxml.rubyforge.org/" hash="19bba2ab667be03a19f67fb67dc56917" description="ROXML - Ruby Object to XML Mapping Library" tag="ruby xml gems mapping" time="2008-08-09T05:24:20Z" others="56" extended="ROXML is a Ruby library designed to make it easier for Ruby developers to work with XML. Using simple annotations, it enables Ruby classes to be custom-mapped to XML. ROXML takes care of the marshalling and unmarshalling of mapped attributes so that developers can focus on building first-class Ruby classes."/>
3
+ <post href="http://code.google.com/p/sparrow/" hash="1df8a7cb9e8960992556518c0ea0d146" description="sparrow - Google Code" tag="ruby sparrow memcache queue" time="2008-08-06T15:07:24Z" others="115" extended="Sparrow is a really fast lightweight queue written in Ruby that speaks memcache. That means you can use Sparrow with any memcached client library (Ruby or otherwise)."/>
4
+ <post href="http://code.google.com/p/query-reviewer/" hash="963187e8bf350ae42e21eee13a2bef07" description="query-reviewer - Google Code" tag="rails ruby railstips plugins database optimization" time="2008-08-04T21:50:14Z" others="180" extended="This rails plugin not only runs &quot;EXPLAIN&quot; before each of your select queries in development, but provides a small DIV in the rendered output of each page with the summary of query warnings that it analyzed."/>
5
+ <post href="http://dev.zeraweb.com/introducing-functor" hash="2cdd545934bd37ae6f4829c51b3041c5" description="dev.zeraweb.com: Introducing Functor" tag="ruby methods gems railstips" time="2008-08-04T21:46:47Z" others="61" extended="Really cool ruby lib for overloading method definitions. I can think of a few places this would be handy."/>
6
+ <post href="http://prawn.majesticseacreature.com/" hash="92764e019de7553b4cd38017e42e4aaa" description="prawn.majesticseacreature.com" tag="pdf ruby railstips" time="2008-08-04T21:26:20Z" others="237" extended="pure ruby pdf generation library."/>
7
+ <post href="http://meme-rocket.com/2006/09/28/ruby-moduleinclude-at-odds-with-duck-typing/" hash="4ce96c7c237161819e9625737c22b462" description="Bill Burcham’s memeRocket :: Ruby Module#include at Odds with Duck Typing." tag="ruby railstips enumerable comparable" time="2008-08-03T16:09:24Z" others="3" extended="How to build your own enumerable and comparable objects in ruby. This article is old but just came across it and found it handy."/>
8
+ <post href="http://bl.ogtastic.com/archives/2008/7" hash="6bebd138c037d7d7c88a7046ca03f671" description="The right way to do something you should never do" tag="juggernaut observers rails flash ruby" time="2008-08-03T03:50:58Z" others="0" extended="Example of how to use juggernaut with an observer."/>
9
+ <post href="http://ncavig.com/blog/?page_id=8" hash="55450d103d6e2dd609b203ad133d751f" description="Nic’s Notions » Juggernaut Tutorials" tag="juggernaut rails ruby flash plugins server chat" time="2008-08-03T02:26:39Z" others="30" extended="Several juggernaut tutorials."/>
10
+ <post href="http://blog.labnotes.org/2008/05/05/distributed-twitter-client-in-20-lines-of-code/" hash="7c2a36292db109b144036a02eb3f46b7" description="Labnotes » Distributed Twitter Client in 20 lines of code" tag="xmpp ruby jabber xmpp4r" time="2008-08-01T18:16:23Z" others="18" extended="Cool little snippet of xmpp goodness to check your buddies status messages."/>
11
+ <post href="http://labs.reevoo.com/plugins/beanstalk-messaging" hash="d100c10208acbf5e954320a5577838d9" description="reevoolabs - Beanstalk Messaging" tag="railstips messaging queue rails ruby" time="2008-07-28T02:57:00Z" others="33" extended="Good write up on beanstalk"/>
12
+ <post href="http://www.slideshare.net/guest807bb2/rubyfringe?src=embed" hash="c3dc3b940dbe25e39737240b4e1ab071" description="Rockstar Memcached" tag="memcached performance caching ruby rails railstips" time="2008-07-28T02:30:50Z" others="11" extended="Killer presentation on memcached by Tobi of Shopify."/>
13
+ <post href="http://www.igvita.com/2008/07/22/unix-signals-for-live-debugging/" hash="288054a38d870b15bdf060ed5c6b2a2e" description="Unix Signals for Live Debugging - igvita.com" tag="ruby signals unix debugging signal railstips" time="2008-07-27T04:53:00Z" others="86" extended="I've known how to kill processes and such but never quite understood kill. Ilya Grigorik explains not only how to send those signals but how to use them in your scripts to change the way they behave on the fly. Very cool."/>
14
+ <post href="http://www.rubyinside.com/redcloth-4-released-962.html" hash="b3db9b84940ce550e26a560b83eb2f66" description="RedCloth 4.0 Released: 40x Faster Textile Rendering" tag="textile ruby gems railstips" time="2008-07-27T04:42:29Z" others="20" extended="Redcloth gets some serious love. It's now much faster. Sweet!"/>
15
+ <post href="http://code.google.com/p/rubycas-server/" hash="b532ea5933e4eba76c44823e17fecd31" description="rubycas-server - Google Code" tag="sso authentication cas ruby" time="2008-07-22T17:04:09Z" others="132" extended="RubyCAS-Server provides a single sign-on solution for web applications, implementing the server-end of JA-SIG's CAS protocol."/>
16
+ <post href="http://reinh.com/blog/2008/07/14/a-thinking-mans-sphinx.html" hash="033d72ac54d8c722618383e0e2aa18ff" description="ReinH — A Thinking Man's Sphinx" tag="rails railstips sphinx search ruby" time="2008-07-17T19:34:59Z" others="142" extended="A guide to the two sphynx plugins: ultrasphynx and thinksphynx and why you should choose one or the other."/>
17
+ <post href="http://www.rubyinside.com/ruby-xml-crisis-over-libxml-0-8-0-released-955.html" hash="70490d9786f09db5ba5f7904f88d304c" description="libxml-ruby 0.8.0 Released: Ruby Gets Fast, Reliable XML Processing At Last" tag="libxml xml ruby gems" time="2008-07-17T18:22:23Z" others="55" extended="lib xml gets an update and now it's really fast."/>
18
+ <post href="http://github.com/RISCfuture/autumn/tree/master" hash="9b47db4bf59da2009642f4084e3113a2" description="autumn at master — GitHub" tag="irc ruby gems" time="2008-07-17T18:20:19Z" others="18" extended="Easy, fresh, feature-rich IRC bots in Ruby"/>
19
+ <post href="http://groups.google.com/group/datamapper/browse_thread/thread/d33fbb20e41fad04" hash="4403898c92b37788f002ad6d79a66b68" description="New Finder Syntax (before 1.0) -" tag="railstips ruby datamapper" time="2008-07-05T20:42:27Z" others="1" extended="really cool idea for conditions in datamapper. even if you don't use datamapper, read this as it's sweet."/>
20
+ <post href="http://codeclimber.blogspot.com/2008/06/using-ruby-for-imap-with-gmail.html" hash="33bbf2492beac5fbf1fc167014060067" description="CodeClimber: using Ruby for IMAP with Gmail" tag="email gems gmail google imap rails railstips ruby" time="2008-07-05T20:06:47Z" others="118" extended="how to check gmail using ruby's IMAP libraries. the key is to use the login method instead of the authenticate one."/>
21
+ <post href="http://xullicious.blogspot.com/2008/07/updated-curb-multi-interface-patch.html" hash="f95dcc012bdc13bc26bace3ceed10656" description="Xul for thought: Updated curb multi interface patch" tag="curl ruby http" time="2008-07-03T21:52:45Z" others="1" extended="Really cool multi curl stuff to rapidly hit urls."/>
22
+ </posts>
23
+ <!-- fe04.api.del.ac4.yahoo.net uncompressed/chunked Sat Aug 9 00:20:11 PDT 2008 -->
File without changes
@@ -0,0 +1,3 @@
1
+ <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Google</title><style>body,td,a,p,.h{font-family:arial,sans-serif}.h{color:#36c;font-size:20px}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}#gbar{height:22px;padding-left:2px}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbi,#gbs{background:#fff;left:0;position:absolute;top:24px;visibility:hidden;z-index:1000}#gbi{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}#guser{padding-bottom:7px !important}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.73em;vertical-align:top}#gbar{float:left}}.gb2{display:block;padding:.2em .5em}a.gb1,a.gb2,a.gb3{color:#00c !important}.gb2,.gb3{text-decoration:none}a.gb2:hover{background:#36c;color:#fff !important}</style><script>window.google={kEI:"Zuk6ScOkLKHCMrrttckF",kEXPI:"17259,19124,19314",kHL:"en"};
2
+ google.y={};google.x=function(e,g){google.y[e.id]=[e,g];return false};function sf(){document.f.q.focus()}
3
+ window.gbar={};(function(){var b=window.gbar,f,h;b.qs=function(a){var c=window.encodeURIComponent&&(document.forms[0].q||"").value;if(c)a.href=a.href.replace(/([?&])q=[^&]*|$/,function(i,g){return(g||"&")+"q="+encodeURIComponent(c)})};function j(a,c){a.visibility=h?"hidden":"visible";a.left=c+"px"}b.tg=function(a){a=a||window.event;var c=0,i,g=window.navExtra,d=document.getElementById("gbi"),e=a.target||a.srcElement;a.cancelBubble=true;if(!f){f=document.createElement(Array.every||window.createPopup?"iframe":"div");f.frameBorder="0";f.src="#";d.parentNode.appendChild(f).id="gbs";if(g)for(i in g)d.insertBefore(g[i],d.firstChild).className="gb2";document.onclick=b.close}if(e.className!="gb3")e=e.parentNode;do c+=e.offsetLeft;while(e=e.offsetParent);j(d.style,c);f.style.width=d.offsetWidth+"px";f.style.height=d.offsetHeight+"px";j(f.style,c);h=!h};b.close=function(a){h&&b.tg(a)}})();</script></head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload="sf();if(document.images)new Image().src='/images/nav_logo3.png'" topmargin=3 marginheight=3><div id=gbar><nobr><b class=gb1>Web</b> <a href="http://images.google.com/imghp?hl=en&tab=wi" onclick=gbar.qs(this) class=gb1>Images</a> <a href="http://maps.google.com/maps?hl=en&tab=wl" onclick=gbar.qs(this) class=gb1>Maps</a> <a href="http://news.google.com/nwshp?hl=en&tab=wn" onclick=gbar.qs(this) class=gb1>News</a> <a href="http://www.google.com/prdhp?hl=en&tab=wf" onclick=gbar.qs(this) class=gb1>Shopping</a> <a href="http://mail.google.com/mail/?hl=en&tab=wm" class=gb1>Gmail</a> <a href="http://www.google.com/intl/en/options/" onclick="this.blur();gbar.tg(event);return !1" class=gb3><u>more</u> <small>&#9660;</small></a><div id=gbi> <a href="http://video.google.com/?hl=en&tab=wv" onclick=gbar.qs(this) class=gb2>Video</a> <a href="http://groups.google.com/grphp?hl=en&tab=wg" onclick=gbar.qs(this) class=gb2>Groups</a> <a href="http://books.google.com/bkshp?hl=en&tab=wp" onclick=gbar.qs(this) class=gb2>Books</a> <a href="http://scholar.google.com/schhp?hl=en&tab=ws" onclick=gbar.qs(this) class=gb2>Scholar</a> <a href="http://finance.google.com/finance?hl=en&tab=we" onclick=gbar.qs(this) class=gb2>Finance</a> <a href="http://blogsearch.google.com/?hl=en&tab=wb" onclick=gbar.qs(this) class=gb2>Blogs</a> <div class=gb2><div class=gbd></div></div> <a href="http://www.youtube.com/?hl=en&tab=w1" onclick=gbar.qs(this) class=gb2>YouTube</a> <a href="http://www.google.com/calendar/render?hl=en&tab=wc" class=gb2>Calendar</a> <a href="http://picasaweb.google.com/home?hl=en&tab=wq" onclick=gbar.qs(this) class=gb2>Photos</a> <a href="http://docs.google.com/?hl=en&tab=wo" class=gb2>Documents</a> <a href="http://www.google.com/reader/view/?hl=en&tab=wy" class=gb2>Reader</a> <a href="http://sites.google.com/?hl=en&tab=w3" class=gb2>Sites</a> <div class=gb2><div class=gbd></div></div> <a href="http://www.google.com/intl/en/options/" class=gb2>even more &raquo;</a></div> </nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div><div align=right id=guser style="font-size:84%;padding:0 0 4px" width=100%><nobr><a href="/url?sa=p&pref=ig&pval=3&q=http://www.google.com/ig%3Fhl%3Den%26source%3Diglk&usg=AFQjCNFA18XPfgb7dKnXfKz7x7g1GDH1tg">iGoogle</a> | <a href="https://www.google.com/accounts/Login?continue=http://www.google.com/&hl=en">Sign in</a></nobr></div><center><br clear=all id=lgpd><img alt="Google" height=110 src="/intl/en_ALL/images/logo.gif" width=276><br><br><form action="/search" name=f><table cellpadding=0 cellspacing=0><tr valign=top><td width=25%>&nbsp;</td><td align=center nowrap><input name=hl type=hidden value=en><input type=hidden name=ie value="ISO-8859-1"><input autocomplete="off" maxlength=2048 name=q size=55 title="Google Search" value=""><br><input name=btnG type=submit value="Google Search"><input name=btnI type=submit value="I'm Feeling Lucky"></td><td nowrap width=25%><font size=-2>&nbsp;&nbsp;<a href=/advanced_search?hl=en>Advanced Search</a><br>&nbsp;&nbsp;<a href=/preferences?hl=en>Preferences</a><br>&nbsp;&nbsp;<a href=/language_tools?hl=en>Language Tools</a></font></td></tr></table></form><br><br><font size=-1><a href="/intl/en/ads/">Advertising&nbsp;Programs</a> - <a href="/services/">Business Solutions</a> - <a href="/intl/en/about.html">About Google</a></font><p><font size=-2>&copy;2008 - <a href="/intl/en/privacy.html">Privacy</a></font></p></center></body><script>if(google.y)google.y.first=[];window.setTimeout(function(){var xjs=document.createElement('script');xjs.src='/extern_js/f/CgJlbhICdXMgACswCjgMLCswDjgCLCswGDgDLA/8MIofMT_4o8.js';document.getElementsByTagName('head')[0].appendChild(xjs)},0);google.y.first.push(function(){google.ac.i(document.f,document.f.q,'','')})</script></html>
@@ -0,0 +1 @@
1
+ [{"user":{"followers_count":1,"description":null,"url":null,"profile_image_url":"http:\/\/static.twitter.com\/images\/default_profile_normal.png","protected":false,"location":"Opera Plaza, California","screen_name":"Pyk","name":"Pyk","id":"7694602"},"text":"@lapilofu If you need a faster transfer, target disk mode should work too :)","truncated":false,"favorited":false,"in_reply_to_user_id":6128642,"created_at":"Sat Dec 06 21:29:14 +0000 2008","source":"twitterrific","in_reply_to_status_id":1042497164,"id":"1042500587"},{"user":{"followers_count":278,"description":"しがないプログラマ\/とりあえず宮子は俺の嫁\u2026いや、娘だ!\/Delphi&amp;Pythonプログラマ修行中\/bot製作にハマりつつある。三つほど製作&amp;構想中\/[eof]","url":"http:\/\/logiq.orz.hm\/","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/59588711\/l_ワ_l↑_normal.png","protected":false,"location":"ひだまり荘202号室","screen_name":"feiz","name":"azkn3","id":"14310520"},"text":"@y_benjo ちょー遅レスですがただのはだいろすぎる・・・ ( ll ワ ll )","truncated":false,"favorited":false,"in_reply_to_user_id":8428752,"created_at":"Sat Dec 06 21:29:14 +0000 2008","source":"twit","in_reply_to_status_id":1042479758,"id":"1042500586"},{"user":{"followers_count":1233,"description":"&quot;to understand one life you must swallow the world.&quot; I run refine+focus: a marketing agency working w\/ brands, media and VCs. http:\/\/tinyurl.com\/63mrn","url":"http:\/\/www.quiverandquill.com","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/53684650\/539059005_2a3b462d20_normal.jpg","protected":false,"location":"Cambridge, MA ","screen_name":"quiverandquill","name":"zach Braiker","id":"6845872"},"text":"@18percentgrey I didn't see Damon on Palin. i'll look on youtube. thx .Z","truncated":false,"favorited":false,"in_reply_to_user_id":10529932,"created_at":"Sat Dec 06 21:29:12 +0000 2008","source":"web","in_reply_to_status_id":1042499331,"id":"1042500584"},{"user":{"followers_count":780,"description":"Mein Blog ist unter http:\/\/blog.helmschrott.de zu finden. Unter http:\/\/blogalm.de kannst Du Deinen Blog eintragen!","url":"http:\/\/helmschrott.de\/blog","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/60997686\/avatar-250_normal.jpg","protected":false,"location":"Münchner Straße","screen_name":"helmi","name":"Frank Helmschrott","id":"867641"},"text":"@gigold auch mist oder?ich glaub ich fangs jetzt dann einfach mal an - wird schon vernünftige update-prozesse geben.","truncated":false,"favorited":false,"in_reply_to_user_id":959931,"created_at":"Sat Dec 06 21:29:11 +0000 2008","source":"twhirl","in_reply_to_status_id":1042500095,"id":"1042500583"},{"user":{"followers_count":63,"description":"Liberation from Misconceptions","url":"http:\/\/sexorcism.blogspot.com","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/63897302\/having-sex-on-bed_normal.jpg","protected":false,"location":"USA","screen_name":"Sexorcism","name":"Sexorcism","id":"16929435"},"text":"@thursdays_child someecards might.","truncated":false,"favorited":false,"in_reply_to_user_id":14484963,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"twittergadget","in_reply_to_status_id":1042499777,"id":"1042500581"},{"user":{"followers_count":106,"description":"Researcher. Maître de Conférences - Sémiologue - Spécialiste des médias audiovisuels. Analyste des médias, de la télévision et de la presse people (gossip). ","url":"http:\/\/semioblog.over-blog.org\/","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/57988482\/Thomas_et_Vic_pour_promo_2_058_normal.JPG","protected":false,"location":"France","screen_name":"semioblog","name":"Virginie Spies","id":"10078802"},"text":"@richardvonstern on reparle de tout cela bientôt, si vous voulez vraiment m'aider","truncated":false,"favorited":false,"in_reply_to_user_id":15835317,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"twitterrific","in_reply_to_status_id":1042357537,"id":"1042500580"},{"user":{"followers_count":26,"description":"","url":"","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/63461084\/November2ndpics_125_normal.jpg","protected":false,"location":"Louisville, Ky","screen_name":"scrapaunt","name":"scrapaunt","id":"16660671"},"text":"@NKOTB4LIFE Hope your neck feels better after your nap.","truncated":false,"favorited":false,"in_reply_to_user_id":16041403,"created_at":"Sat Dec 06 21:29:10 +0000 2008","source":"web","in_reply_to_status_id":1042450159,"id":"1042500579"},{"user":{"followers_count":245,"description":"Maui HI Real Estate Salesperson specializing in off the grid lifestyle","url":"http:\/\/www.eastmaui.com","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/59558480\/face2_normal.jpg","protected":false,"location":"north shore maui hawaii","screen_name":"mauihunter","name":"Georgina M. Hunter ","id":"16161708"},"text":"@BeeRealty http:\/\/twitpic.com\/qpog - It's a good safe place to lay - no dogs up there.","truncated":false,"favorited":false,"in_reply_to_user_id":15781063,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"twitpic","in_reply_to_status_id":1042497815,"id":"1042500578"},{"user":{"followers_count":95,"description":"","url":"","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/66581657\/nose-pick_normal.jpg","protected":false,"location":"zoetermeer","screen_name":"GsKlukkluk","name":"Klukkluk","id":"14218588"},"text":"twit \/off zalige nacht!","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:14 +0000 2008","source":"web","in_reply_to_status_id":null,"id":"1042500577"},{"user":{"followers_count":33,"description":"Living in denial that I live in a podunk town, I spend my time in search of good music in LA. Pure city-dweller and puma. That's about it.","url":"","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/56024131\/Photo_145_normal.jpg","protected":false,"location":"Santa Barbara, CA","screen_name":"pumainthemvmt","name":"Valerie","id":"15266837"},"text":"I love my parents with all my heart, but sometimes they make me want to scratch my eyes out.","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:10 +0000 2008","source":"sms","in_reply_to_status_id":null,"id":"1042500576"},{"user":{"followers_count":99,"description":"大学生ですよ。Ad[es]er。趣味で辭書とか編輯してゐます。JavaScriptでゲーム書きたいけど時間ねえ。","url":"http:\/\/greengablez.net\/diary\/","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/60269370\/zonu_1_normal.gif","protected":false,"location":"Sapporo, Hokkaido, Japan","screen_name":"tadsan","name":"船越次男","id":"11637282"},"text":"リトル・プリンセスとだけ書かれたら小公女を連想するだろ、常識的に考へて。","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:11 +0000 2008","source":"tiitan","in_reply_to_status_id":null,"id":"1042500575"},{"user":{"followers_count":68,"description":"I love all things beer. What goes better with beer than Porn, nothig I tell ya nothing.","url":"","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/66479069\/Picture_9_normal.jpg","protected":false,"location":"Durant","screen_name":"Jeffporn","name":"Jeffporn","id":"14065262"},"text":"At Lefthand having milk stout on cask - Photo: http:\/\/bkite.com\/02PeH","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:10 +0000 2008","source":"brightkite","in_reply_to_status_id":null,"id":"1042500574"},{"user":{"followers_count":7,"description":"","url":"http:\/\/www.PeteKinser.com","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/65572489\/PeteKinser-close_normal.jpg","protected":false,"location":"Denver, CO","screen_name":"pkinser","name":"pkinser","id":"15570525"},"text":"Snooze is where it's at for brunch if you're ever in Denver. Yum.","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:11 +0000 2008","source":"fring","in_reply_to_status_id":null,"id":"1042500572"},{"user":{"followers_count":75,"description":"I am a gamer and this is my gaming account, check out my other Twitter account for non-gaming tweets.","url":"http:\/\/twitter.com\/Nailhead","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/56881055\/nailhead_184x184_normal.jpg","protected":false,"location":"Huntsville, AL","screen_name":"Nailhead_Gamer","name":"Eric Fullerton","id":"15487663"},"text":"Completed the epic quest line for the Death Knight. Now what? Outlands? I wish to skip Outlands please, thanks.","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"twitterfox","in_reply_to_status_id":null,"id":"1042500571"},{"user":{"followers_count":111,"description":"","url":"http:\/\/www.ns-tech.com\/blog\/geldred.nsf","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/63865052\/brak2_normal.JPG","protected":false,"location":"Cleveland OH","screen_name":"geldred","name":"geldred","id":"14093394"},"text":"I'm at Target Store - Avon OH (35830 Detroit Rd, Avon, OH 44011, USA) - http:\/\/bkite.com\/02PeI","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"brightkite","in_reply_to_status_id":null,"id":"1042500570"},{"user":{"followers_count":16,"description":"Soundtrack Composer\/Musician\/Producer","url":"http:\/\/www.reverbnation\/musicbystratos","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/63311865\/logo-stratos_normal.png","protected":false,"location":"Grove City, Ohio 43123","screen_name":"Stratos","name":"Bryan K Borgman","id":"756062"},"text":"is reminded how beautiful the world can be when it's blanketed by clean white snow.","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"web","in_reply_to_status_id":null,"id":"1042500569"},{"user":{"followers_count":7,"description":null,"url":null,"profile_image_url":"http:\/\/static.twitter.com\/images\/default_profile_normal.png","protected":false,"location":null,"screen_name":"garrettromine","name":"garrettromine","id":"16120885"},"text":"Go Julio","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:10 +0000 2008","source":"sms","in_reply_to_status_id":null,"id":"1042500568"},{"user":{"followers_count":111,"description":"WHAT IS HAPPNING IN THE WORLD??? SEE DIFFERENT NEWS STORIES FROM MANY SOURCES.","url":"http:\/\/henrynews.wetpaint.com","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/65118112\/2008-election-map-nytimes_normal.png","protected":false,"location":"","screen_name":"HenryNews","name":"HenryNews","id":"17398510"},"text":"Svindal completes double at Beaver Creek: Read full story for latest details. http:\/\/tinyurl.com\/6qugub","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"twitterfeed","in_reply_to_status_id":null,"id":"1042500567"},{"user":{"followers_count":34,"description":"I am a man of many bio's, scott bio's!","url":"http:\/\/flickr.com\/photos\/giantcandy","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/25680382\/Icon_for_Twitter_normal.jpg","protected":false,"location":"Loves Park, IL, USA","screen_name":"Pychobj2001","name":"William Boehm Jr","id":"809103"},"text":"I have a 3rd break light and the license plate lights are out...just replacing 1 plate light...abide by law just enough","truncated":false,"favorited":false,"in_reply_to_user_id":null,"created_at":"Sat Dec 06 21:29:10 +0000 2008","source":"twidroid","in_reply_to_status_id":null,"id":"1042500566"},{"user":{"followers_count":61,"description":"Wife. Designer. Green Enthusiast. New Homeowner. Pet Owner. Internet Addict.","url":"http:\/\/confessionsofadesignjunkie.blogspot.com\/","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/66044439\/n27310459_33432814_6743-1_normal.jpg","protected":false,"location":"Indiana","screen_name":"smquaseb","name":"Stacy","id":"15530992"},"text":"@Indygardener We still had a few people shoveling in our neighborhood - I didn't think it was enough to shovel, but keeps the kids busy.","truncated":false,"favorited":false,"in_reply_to_user_id":12811482,"created_at":"Sat Dec 06 21:29:13 +0000 2008","source":"web","in_reply_to_status_id":1042488558,"id":"1042500565"}]
@@ -0,0 +1,403 @@
1
+ <statuses type="array">
2
+ <status>
3
+ <created_at>Sun Dec 07 00:36:16 +0000 2008</created_at>
4
+ <id>1042729116</id>
5
+ <text>@sebbo Outlook not so good</text>
6
+ <source>web</source>
7
+ <truncated>false</truncated>
8
+ <in_reply_to_status_id>1042716367</in_reply_to_status_id>
9
+ <in_reply_to_user_id>2989541</in_reply_to_user_id>
10
+ <favorited>false</favorited>
11
+ <user>
12
+ <id>17656026</id>
13
+ <name>Magic 8 Bot</name>
14
+ <screen_name>magic8bot</screen_name>
15
+ <description>ask me a question</description>
16
+ <location></location>
17
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/65565851/8ball_large_normal.jpg</profile_image_url>
18
+ <url></url>
19
+ <protected>false</protected>
20
+ <followers_count>90</followers_count>
21
+ </user>
22
+ </status><status>
23
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
24
+ <id>1042729115</id>
25
+ <text>Azdel Slade :friends from midian city http://bloghud.com/id/27312</text>
26
+ <source>web</source>
27
+ <truncated>false</truncated>
28
+ <in_reply_to_status_id />
29
+ <in_reply_to_user_id />
30
+ <favorited>false</favorited>
31
+ <user>
32
+ <id>801094</id>
33
+ <name>BlogHUD</name>
34
+ <screen_name>bloghud</screen_name>
35
+ <description />
36
+ <location />
37
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/25235272/bloghud_twitter_normal.jpg</profile_image_url>
38
+ <url />
39
+ <protected>false</protected>
40
+ <followers_count>313</followers_count>
41
+ </user>
42
+ </status><status>
43
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
44
+ <id>1042729114</id>
45
+ <text>Reading: &quot;The Reckoning - Debt Watchdogs - Tamed or Caught Napping? - Series - NYTimes.com&quot; ( http://tinyurl.com/5754s6 )</text>
46
+ <source>twitthat</source>
47
+ <truncated>false</truncated>
48
+ <in_reply_to_status_id />
49
+ <in_reply_to_user_id />
50
+ <favorited>false</favorited>
51
+ <user>
52
+ <id>3512101</id>
53
+ <name>bill</name>
54
+ <screen_name>niubi</screen_name>
55
+ <description>in beijing learning socialism 2 prepare 4 return 2 us</description>
56
+ <location>beijing</location>
57
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/53292616/realtwitterers_normal.jpg</profile_image_url>
58
+ <url></url>
59
+ <protected>false</protected>
60
+ <followers_count>710</followers_count>
61
+ </user>
62
+ </status><status>
63
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
64
+ <id>1042729113</id>
65
+ <text>Fianlly done and headed home!</text>
66
+ <source>sms</source>
67
+ <truncated>false</truncated>
68
+ <in_reply_to_status_id />
69
+ <in_reply_to_user_id />
70
+ <favorited>false</favorited>
71
+ <user>
72
+ <id>13186842</id>
73
+ <name>Okthirddayfan</name>
74
+ <screen_name>Okthirddayfan</screen_name>
75
+ <description></description>
76
+ <location>Oklahoma!</location>
77
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/61414367/mecropped_normal.jpg</profile_image_url>
78
+ <url>http://thirddaypix.blogspot.com/</url>
79
+ <protected>false</protected>
80
+ <followers_count>68</followers_count>
81
+ </user>
82
+ </status><status>
83
+ <created_at>Sun Dec 07 00:36:16 +0000 2008</created_at>
84
+ <id>1042729112</id>
85
+ <text>Adobe Flashplayer 10 and Debug versions: http://www.adobe.com/support/flashplayer/downloads.html</text>
86
+ <source>toro</source>
87
+ <truncated>false</truncated>
88
+ <in_reply_to_status_id />
89
+ <in_reply_to_user_id />
90
+ <favorited>false</favorited>
91
+ <user>
92
+ <id>15243380</id>
93
+ <name>cbrueggenolte</name>
94
+ <screen_name>cbrueggenolte</screen_name>
95
+ <description>27, Male, Mac Geek, Developer Java &amp;amp; Flex &amp;amp; Air</description>
96
+ <location>Aachen</location>
97
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/55929263/214508011845f026bfd407c_normal.jpg</profile_image_url>
98
+ <url>http://my.opera.com/carstenbrueggenolte</url>
99
+ <protected>false</protected>
100
+ <followers_count>16</followers_count>
101
+ </user>
102
+ </status><status>
103
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
104
+ <id>1042729111</id>
105
+ <text>Done and done.</text>
106
+ <source>twitterrific</source>
107
+ <truncated>false</truncated>
108
+ <in_reply_to_status_id />
109
+ <in_reply_to_user_id />
110
+ <favorited>false</favorited>
111
+ <user>
112
+ <id>10978752</id>
113
+ <name>Sergey Safonov</name>
114
+ <screen_name>iron_Lung</screen_name>
115
+ <description>I have my fingers in many pies.</description>
116
+ <location>Moscow</location>
117
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/57841057/eat38_normal.gif</profile_image_url>
118
+ <url>http://www.flickr.com/photos/iron_Lung</url>
119
+ <protected>false</protected>
120
+ <followers_count>11</followers_count>
121
+ </user>
122
+ </status><status>
123
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
124
+ <id>1042729110</id>
125
+ <text>Veja a tabela de preços do Acquaplay da Tecnisa aqui:http://tinyurl.com/acquaplaypreco</text>
126
+ <source>web</source>
127
+ <truncated>false</truncated>
128
+ <in_reply_to_status_id />
129
+ <in_reply_to_user_id />
130
+ <favorited>false</favorited>
131
+ <user>
132
+ <id>13735402</id>
133
+ <name>Tecnisa S.A</name>
134
+ <screen_name>Tecnisa</screen_name>
135
+ <description>Mais construtora por m2</description>
136
+ <location>Faria Lima, 3144 - SP</location>
137
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/56572222/logo_normal.jpg</profile_image_url>
138
+ <url>http://www.tecnisa.com.br</url>
139
+ <protected>false</protected>
140
+ <followers_count>77</followers_count>
141
+ </user>
142
+ </status><status>
143
+ <created_at>Sun Dec 07 00:36:16 +0000 2008</created_at>
144
+ <id>1042729108</id>
145
+ <text>devin harris has the flu. always have the memory of jordan scoring 50 on the knicks at the garden with the flu</text>
146
+ <source>web</source>
147
+ <truncated>false</truncated>
148
+ <in_reply_to_status_id />
149
+ <in_reply_to_user_id />
150
+ <favorited>false</favorited>
151
+ <user>
152
+ <id>17930773</id>
153
+ <name>24 Seconds to Shoot</name>
154
+ <screen_name>NBA24sts</screen_name>
155
+ <description>NBA handicapping insight and analysis.</description>
156
+ <location>las vegas</location>
157
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/66593862/fresno_normal.jpg</profile_image_url>
158
+ <url></url>
159
+ <protected>false</protected>
160
+ <followers_count>1</followers_count>
161
+ </user>
162
+ </status><status>
163
+ <created_at>Sun Dec 07 00:36:16 +0000 2008</created_at>
164
+ <id>1042729105</id>
165
+ <text>At Brandon and Shannon's holiday party..</text>
166
+ <source>twitterberry</source>
167
+ <truncated>false</truncated>
168
+ <in_reply_to_status_id />
169
+ <in_reply_to_user_id />
170
+ <favorited>false</favorited>
171
+ <user>
172
+ <id>5388602</id>
173
+ <name>Mike J. (Telligent)</name>
174
+ <screen_name>mjamrst</screen_name>
175
+ <description>Video Game Account Manager</description>
176
+ <location>Palo Alto, CA</location>
177
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/66375174/Thanksgiving_11272008-048_normal.jpg</profile_image_url>
178
+ <url>http://www.telligent.com</url>
179
+ <protected>false</protected>
180
+ <followers_count>225</followers_count>
181
+ </user>
182
+ </status><status>
183
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
184
+ <id>1042729104</id>
185
+ <text>Xinhua: Forty percent of Australian PM office' staff quit : CANBERRA, Dec. 7 (Xinhua) -- Only.. http://tinyurl.com/5gwotd</text>
186
+ <source>twitterfeed</source>
187
+ <truncated>false</truncated>
188
+ <in_reply_to_status_id />
189
+ <in_reply_to_user_id />
190
+ <favorited>false</favorited>
191
+ <user>
192
+ <id>11566502</id>
193
+ <name>Headline News</name>
194
+ <screen_name>headlinenews</screen_name>
195
+ <description></description>
196
+ <location></location>
197
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/41784602/1890_wires_normal.jpg</profile_image_url>
198
+ <url></url>
199
+ <protected>false</protected>
200
+ <followers_count>575</followers_count>
201
+ </user>
202
+ </status><status>
203
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
204
+ <id>1042729101</id>
205
+ <text>@hilarycassman soo funnny</text>
206
+ <source>sms</source>
207
+ <truncated>false</truncated>
208
+ <in_reply_to_status_id>1042725825</in_reply_to_status_id>
209
+ <in_reply_to_user_id>17644455</in_reply_to_user_id>
210
+ <favorited>false</favorited>
211
+ <user>
212
+ <id>17887548</id>
213
+ <name>katieballss</name>
214
+ <screen_name>katieballss</screen_name>
215
+ <description></description>
216
+ <location></location>
217
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/66523737/th_Photo87_normal.jpg</profile_image_url>
218
+ <url>http://www.myspace.com/xxpeachxx101</url>
219
+ <protected>false</protected>
220
+ <followers_count>23</followers_count>
221
+ </user>
222
+ </status><status>
223
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
224
+ <id>1042729100</id>
225
+ <text>d'ora in poi, oltre al ferragosto, odiera' anche il natale e tutto il mese che ci gira intorno.. =.=''</text>
226
+ <source>mobile</source>
227
+ <truncated>false</truncated>
228
+ <in_reply_to_status_id />
229
+ <in_reply_to_user_id />
230
+ <favorited>false</favorited>
231
+ <user>
232
+ <id>9719482</id>
233
+ <name>trotto</name>
234
+ <screen_name>trotto</screen_name>
235
+ <description>sociologo di formazione... uno dei tanti attivisti! :)</description>
236
+ <location>Fano - Italy</location>
237
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/55603933/mybob-calimetux-1526_normal.png</profile_image_url>
238
+ <url>http://trotto1308.netsons.org/wordpress/</url>
239
+ <protected>false</protected>
240
+ <followers_count>98</followers_count>
241
+ </user>
242
+ </status><status>
243
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
244
+ <id>1042729099</id>
245
+ <text>Came across an ad on another site with a redneck looking santa... said &quot;Bust Santa's zit and win a free ipod.&quot; Umm... disturbing much?</text>
246
+ <source>web</source>
247
+ <truncated>false</truncated>
248
+ <in_reply_to_status_id />
249
+ <in_reply_to_user_id />
250
+ <favorited>false</favorited>
251
+ <user>
252
+ <id>9937182</id>
253
+ <name>froggybluesock</name>
254
+ <screen_name>froggybluesock</screen_name>
255
+ <description></description>
256
+ <location>Indiana</location>
257
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/35393032/about_me_normal.jpg</profile_image_url>
258
+ <url>http://www.footprintsonthemoon.com</url>
259
+ <protected>false</protected>
260
+ <followers_count>82</followers_count>
261
+ </user>
262
+ </status><status>
263
+ <created_at>Sun Dec 07 00:36:17 +0000 2008</created_at>
264
+ <id>1042729098</id>
265
+ <text>nothing</text>
266
+ <source>web</source>
267
+ <truncated>false</truncated>
268
+ <in_reply_to_status_id />
269
+ <in_reply_to_user_id />
270
+ <favorited>false</favorited>
271
+ <user>
272
+ <id>17932339</id>
273
+ <name>treblehook</name>
274
+ <screen_name>treblehook</screen_name>
275
+ <description />
276
+ <location />
277
+ <profile_image_url>http://static.twitter.com/images/default_profile_normal.png</profile_image_url>
278
+ <url />
279
+ <protected>false</protected>
280
+ <followers_count>0</followers_count>
281
+ </user>
282
+ </status><status>
283
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
284
+ <id>1042729095</id>
285
+ <text>Setting up my new Windows Live profile</text>
286
+ <source>web</source>
287
+ <truncated>false</truncated>
288
+ <in_reply_to_status_id />
289
+ <in_reply_to_user_id />
290
+ <favorited>false</favorited>
291
+ <user>
292
+ <id>17906075</id>
293
+ <name>Mark_Layton</name>
294
+ <screen_name>Mark_Layton</screen_name>
295
+ <description />
296
+ <location />
297
+ <profile_image_url>http://static.twitter.com/images/default_profile_normal.png</profile_image_url>
298
+ <url />
299
+ <protected>false</protected>
300
+ <followers_count>2</followers_count>
301
+ </user>
302
+ </status><status>
303
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
304
+ <id>1042729092</id>
305
+ <text>me voy a sobar, a ver si mañana estoy mejor, wenas noches a tod@s</text>
306
+ <source>web</source>
307
+ <truncated>false</truncated>
308
+ <in_reply_to_status_id />
309
+ <in_reply_to_user_id />
310
+ <favorited>false</favorited>
311
+ <user>
312
+ <id>14062655</id>
313
+ <name>tmaniak</name>
314
+ <screen_name>tmaniak</screen_name>
315
+ <description></description>
316
+ <location></location>
317
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/51680481/BF-109_normal.jpg</profile_image_url>
318
+ <url>http://dhost.info/tmaniak</url>
319
+ <protected>false</protected>
320
+ <followers_count>10</followers_count>
321
+ </user>
322
+ </status><status>
323
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
324
+ <id>1042729090</id>
325
+ <text>バイト延長戦入りましたー 店長が遅刻ってどうなんだ。しかも何回も</text>
326
+ <source>natsuliphone</source>
327
+ <truncated>false</truncated>
328
+ <in_reply_to_status_id />
329
+ <in_reply_to_user_id />
330
+ <favorited>false</favorited>
331
+ <user>
332
+ <id>15618846</id>
333
+ <name>kabayaki</name>
334
+ <screen_name>kabayaki</screen_name>
335
+ <description>FPS(L4D、TF2、CS:S、BF)、TPS、RCG、マンガ、アニメ、デジモノが好きなとある学生</description>
336
+ <location>tokyo</location>
337
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/57305902/184_normal.jpg</profile_image_url>
338
+ <url>http://kabayakiya.blog43.fc2.com/</url>
339
+ <protected>false</protected>
340
+ <followers_count>20</followers_count>
341
+ </user>
342
+ </status><status>
343
+ <created_at>Sun Dec 07 00:36:13 +0000 2008</created_at>
344
+ <id>1042729089</id>
345
+ <text>just drove to southern california and joy of children hugging grandparents made it all worthwhile. heading to imedia in la quinta tomorrow.</text>
346
+ <source>web</source>
347
+ <truncated>false</truncated>
348
+ <in_reply_to_status_id />
349
+ <in_reply_to_user_id />
350
+ <favorited>false</favorited>
351
+ <user>
352
+ <id>1630261</id>
353
+ <name>mark silva</name>
354
+ <screen_name>marksilva</screen_name>
355
+ <description>digital media http://realbranding.com Principal, Managing Director</description>
356
+ <location>often san francisco</location>
357
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/29807902/silvasimpson3th_normal.jpg</profile_image_url>
358
+ <url>http://marksilva.com</url>
359
+ <protected>false</protected>
360
+ <followers_count>497</followers_count>
361
+ </user>
362
+ </status><status>
363
+ <created_at>Sun Dec 07 00:36:14 +0000 2008</created_at>
364
+ <id>1042729088</id>
365
+ <text>@wholefoods would love to have a juicebar in one of your cambridge or boston locations</text>
366
+ <source>web</source>
367
+ <truncated>false</truncated>
368
+ <in_reply_to_status_id>1041125103</in_reply_to_status_id>
369
+ <in_reply_to_user_id>15131310</in_reply_to_user_id>
370
+ <favorited>false</favorited>
371
+ <user>
372
+ <id>15856582</id>
373
+ <name>Maura McGovern</name>
374
+ <screen_name>mmcgovern</screen_name>
375
+ <description>photographer with a day job in venture capital; obsessed with design blogs, long walks, yoga, social networking, people watching. tea and music are essential!</description>
376
+ <location>Boston</location>
377
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/66110383/DSCN1740_normal.JPG</profile_image_url>
378
+ <url>http://lefteyephotography.blogspot.com</url>
379
+ <protected>false</protected>
380
+ <followers_count>244</followers_count>
381
+ </user>
382
+ </status><status>
383
+ <created_at>Sun Dec 07 00:36:15 +0000 2008</created_at>
384
+ <id>1042729087</id>
385
+ <text>Going over the Advent lists.</text>
386
+ <source>web</source>
387
+ <truncated>false</truncated>
388
+ <in_reply_to_status_id />
389
+ <in_reply_to_user_id />
390
+ <favorited>false</favorited>
391
+ <user>
392
+ <id>17122107</id>
393
+ <name>gsusan</name>
394
+ <screen_name>gsusan</screen_name>
395
+ <description>US American writer/sister/daughter/aunt/woman from New England living in SoCal.</description>
396
+ <location>San Diego, CA USA</location>
397
+ <profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/63951854/susan_ocracoke_normal.jpg</profile_image_url>
398
+ <url></url>
399
+ <protected>false</protected>
400
+ <followers_count>6</followers_count>
401
+ </user>
402
+ </status>
403
+ </statuses>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Entities total="0" results="0" page="1" page-size="25" href="https://s3-sandbox.parature.com/api/v1/5578/5633/Account" />
data/spec/hash_spec.rb ADDED
@@ -0,0 +1,49 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe Hash, "to_xml_attributes" do
4
+ before do
5
+ @hash = { :one => "ONE", "two" => "TWO" }
6
+ end
7
+
8
+ it "should turn the hash into xml attributes" do
9
+ attrs = @hash.to_xml_attributes
10
+ attrs.should match(/one="ONE"/m)
11
+ attrs.should match(/two="TWO"/m)
12
+ end
13
+
14
+ it 'should preserve _ in hash keys' do
15
+ attrs = {
16
+ :some_long_attribute => "with short value",
17
+ :crash => :burn,
18
+ :merb => "uses extlib"
19
+ }.to_xml_attributes
20
+
21
+ attrs.should =~ /some_long_attribute="with short value"/
22
+ attrs.should =~ /merb="uses extlib"/
23
+ attrs.should =~ /crash="burn"/
24
+ end
25
+ end
26
+
27
+
28
+ describe Hash, 'to_params' do
29
+ {
30
+ { "foo" => "bar", "baz" => "bat" } => "foo=bar&baz=bat",
31
+ { "foo" => [ "bar", "baz" ] } => "foo[]=bar&foo[]=baz",
32
+ { "foo" => [ {"bar" => "1"}, {"bar" => 2} ] } => "foo[][bar]=1&foo[][bar]=2",
33
+ { "foo" => { "bar" => [ {"baz" => 1}, {"baz" => "2"} ] } } => "foo[bar][][baz]=1&foo[bar][][baz]=2",
34
+ { "foo" => {"1" => "bar", "2" => "baz"} } => "foo[1]=bar&foo[2]=baz"
35
+ }.each do |hash, params|
36
+ it "should covert hash: #{hash.inspect} to params: #{params.inspect}" do
37
+ hash.to_params.split('&').sort.should == params.split('&').sort
38
+ end
39
+ end
40
+
41
+ it 'should not leave a trailing &' do
42
+ { :name => 'Bob', :address => { :street => '111 Ruby Ave.', :city => 'Ruby Central', :phones => ['111-111-1111', '222-222-2222'] } }.to_params.should_not match(/&$/)
43
+ end
44
+
45
+ it 'should URL encode unsafe characters' do
46
+ {:q => "?&\" +"}.to_params.should == "q=%3F%26%22%20%2B"
47
+ end
48
+
49
+ end
@@ -0,0 +1,38 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+
3
+ describe HTTParty::CookieHash do
4
+ before(:each) do
5
+ @cookie_hash = HTTParty::CookieHash.new
6
+ end
7
+
8
+ describe "#add_cookies" do
9
+ it "should add new key/value pairs to the hash" do
10
+ @cookie_hash.add_cookies(:foo => "bar")
11
+ @cookie_hash.add_cookies(:rofl => "copter")
12
+ @cookie_hash.length.should eql(2)
13
+ end
14
+
15
+ it "should overwrite any existing key" do
16
+ @cookie_hash.add_cookies(:foo => "bar")
17
+ @cookie_hash.add_cookies(:foo => "copter")
18
+ @cookie_hash.length.should eql(1)
19
+ @cookie_hash[:foo].should eql("copter")
20
+ end
21
+ end
22
+
23
+ # The regexen are required because Hashes aren't ordered, so a test against
24
+ # a hardcoded string was randomly failing.
25
+ describe "#to_cookie_string" do
26
+ before(:each) do
27
+ @cookie_hash.add_cookies(:foo => "bar")
28
+ @cookie_hash.add_cookies(:rofl => "copter")
29
+ @s = @cookie_hash.to_cookie_string
30
+ end
31
+
32
+ it "should format the key/value pairs, delimited by semi-colons" do
33
+ @s.should match(/foo=bar/)
34
+ @s.should match(/rofl=copter/)
35
+ @s.should match(/^\w+=\w+; \w+=\w+$/)
36
+ end
37
+ end
38
+ end