<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,9 +1,11 @@
 class Twitter::Client
   alias :old_inspect :inspect
+
   def inspect
     s = old_inspect
     s.gsub!(/@password=&quot;.*?&quot;/, '@password=&quot;XXXX&quot;')
   end
+
   protected
     attr_accessor :login, :password
     
@@ -34,8 +36,10 @@ class Twitter::Client
     @@http_header = nil
     
     def raise_rest_error(response, uri = nil)
+      map = JSON.parse(response.body)
       raise Twitter::RESTError.new(:code =&gt; response.code, 
                                    :message =&gt; response.message,
+                                   :error =&gt; map[&quot;error&quot;],
                                    :uri =&gt; uri)        
     end
     
@@ -90,4 +94,3 @@ class Twitter::Client
     	Net::HTTP::Delete.new(path, http_header)
     end
 end
-</diff>
      <filename>lib/twitter/client/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 class Twitter::Client
   @@USER_URIS = {
-  	:info =&gt; '/users/show',
+  	:info =&gt; '/users/show.json',
   	:friends =&gt; '/statuses/friends.json',
   	:followers =&gt; '/statuses/followers.json',
   }
@@ -33,7 +33,8 @@ class Twitter::Client
   def user(id, action = :info, options = {})
     raise ArgumentError, &quot;Invalid user action: #{action}&quot; unless @@USER_URIS.keys.member?(action)
     id = id.to_i if id.is_a?(Twitter::User)
-    params = options.merge(:id =&gt; id)
+    id_param = id.is_a?(String) ? :screen_name : :user_id
+    params = options.merge(id_param =&gt; id)
     response = http_connect {|conn| create_http_get_request(@@USER_URIS[action], params) }
     bless_models(Twitter::User.unmarshal(response.body))
   end</diff>
      <filename>lib/twitter/client/user.rb</filename>
    </modified>
    <modified>
      <diff>@@ -101,8 +101,8 @@ module Twitter
   #  /i_am_crap.json
   class RESTError &lt; RuntimeError 
     include ClassUtilMixin
-    @@ATTRIBUTES = [:code, :message, :uri]
-    attr_accessor :code, :message, :uri
+    @@ATTRIBUTES = [:code, :message, :uri, :error]
+    attr_accessor :code, :message, :uri, :error
     
     # Returns string in following format:
     #  &quot;HTTP #{@code}: #{@message} at #{@uri}&quot;</diff>
      <filename>lib/twitter/core.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,12 +21,12 @@ describe Twitter::Client, &quot;#user(id, :info)&quot; do
   end
   
   it &quot;should create expected HTTP GET request when giving numeric user id&quot; do
-    @twitter.should_receive(:create_http_get_request).with(@uris[:info], {:id =&gt; @id}).and_return(@request)
+    @twitter.should_receive(:create_http_get_request).with(@uris[:info], {:user_id =&gt; @id}).and_return(@request)
     @twitter.user(@id)
   end
     
   it &quot;should create expected HTTP GET request when giving screen name&quot; do
-    @twitter.should_receive(:create_http_get_request).with(@uris[:info], {:id =&gt; @screen_name}).and_return(@request)
+    @twitter.should_receive(:create_http_get_request).with(@uris[:info], {:screen_name =&gt; @screen_name}).and_return(@request)
     @twitter.user(@screen_name)
   end
   
@@ -68,7 +68,7 @@ describe Twitter::Client, &quot;#user(id, :friends)&quot; do
   end
   
   it &quot;should create expected HTTP GET request when giving numeric user id&quot; do
-    @twitter.should_receive(:create_http_get_request).with(@uris[:friends], {:id =&gt; @id}).and_return(@request)
+    @twitter.should_receive(:create_http_get_request).with(@uris[:friends], {:user_id =&gt; @id}).and_return(@request)
     @twitter.user(@id, :friends)
   end
   
@@ -78,12 +78,12 @@ describe Twitter::Client, &quot;#user(id, :friends)&quot; do
   end
   
   it &quot;should create expected HTTP GET request when giving Twitter::User object&quot; do
-    @twitter.should_receive(:create_http_get_request).with(@uris[:friends], {:id =&gt; @user.to_i}).and_return(@request)
+    @twitter.should_receive(:create_http_get_request).with(@uris[:friends], {:user_id =&gt; @user.to_i}).and_return(@request)
     @twitter.user(@user, :friends)
   end
   
   it &quot;should create expected HTTP GET request when giving screen name&quot; do
-    @twitter.should_receive(:create_http_get_request).with(@uris[:friends], {:id =&gt; @screen_name}).and_return(@request)
+    @twitter.should_receive(:create_http_get_request).with(@uris[:friends], {:screen_name =&gt; @screen_name}).and_return(@request)
     @twitter.user(@screen_name, :friends)
   end
   </diff>
      <filename>spec/twitter/client/user_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8be04bf057705cfe318134fb209da4daefcd8d39</id>
    </parent>
    <parent>
      <id>76bdffffd2711109bf55dad446f0c91ac1c7d3db</id>
    </parent>
  </parents>
  <author>
    <name>Susan Potter</name>
    <email>me@susanpotter.net</email>
  </author>
  <url>http://github.com/mbbx6spp/twitter4r/commit/f5ea31d43a3e599983c440db7a35c75525a6b381</url>
  <id>f5ea31d43a3e599983c440db7a35c75525a6b381</id>
  <committed-date>2009-09-19T14:33:55-07:00</committed-date>
  <authored-date>2009-09-19T14:33:55-07:00</authored-date>
  <message>Merged upstread changes from twitter4r-0_3_2 branch</message>
  <tree>198599d85b47f27bd4d373ec63f26dfa5528d96c</tree>
  <committer>
    <name>Susan Potter</name>
    <email>me@susanpotter.net</email>
  </committer>
</commit>
