Sha256: c3a9caec9015a88f843ee5c236163504dd9b42f039d912fc18d9b2fa39d0ffdc
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
require 'net/http' module TwitterAuth module Dispatcher class Basic attr_accessor :user def initialize(user) raise TwitterAuth::Error, 'Dispatcher must be initialized with a User.' unless user.is_a?(TwitterAuth::BasicUser) self.user = user end def request(http_method, path, body=nil, *arguments) path << '.json' unless path.match(/\.(:?xml|json)\z/i) response = TwitterAuth.net.start{ |http| req = "Net::HTTP::#{http_method.to_s.capitalize}".constantize.new(path, *arguments) req.basic_auth user.login, user.password req.set_form_data(body) unless body.nil? http.request(req) } JSON.parse(response.body) rescue JSON::ParserError response.body end def get(path, *arguments) request(:get, path, *arguments) end def post(path, body='', *arguments) request(:post, path, body, *arguments) end def put(path, body='', *arguments) request(:put, path, body, *arguments) end def delete(path, *arguments) request(:delete, path, *arguments) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mbleigh-twitter-auth-0.1.1 | lib/twitter_auth/dispatcher/basic.rb |
mbleigh-twitter-auth-0.1.3 | lib/twitter_auth/dispatcher/basic.rb |