# File lib/twitter/client/status.rb, line 40
  def status(action, value = nil)
    return self.timeline_for(action, value || {}) if :replies == action
    raise ArgumentError, "Invalid status action: #{action}" unless @@STATUS_URIS.keys.member?(action)
    return nil unless value
    uri = @@STATUS_URIS[action]
    response = nil
    case action
    when :get
      response = rest_oauth_connect(:get, uri, {:id => value.to_i})
    when :post
      if value.is_a?(Hash)
        params = value.delete_if { |k, v|
          ![:status, :lat, :long, :place_id, :display_coordinates].member?(k)
        }
      else
        params = {:status => value}
      end
      response = rest_oauth_connect(:post, uri, params.merge(:source => self.class.config.source))
    when :delete
      response = rest_oauth_connect(:delete, uri, {:id => value.to_i})
    when :reply
      return nil if (!value.is_a?(Hash) || !value[:status] || !value[:in_reply_to_status_id])
      params = value.merge(:source => self.class.config.source)
      response = rest_oauth_connect(:post, uri, params)
    end
    bless_model(Twitter::Status.unmarshal(response.body))
  end