class TripIt::OAuth
Attributes
access_token[R]
consumer[R]
Public Class Methods
new(ctoken, csecret)
click to toggle source
# File lib/trip_it/oauth.rb, line 6 def initialize(ctoken, csecret) @consumer = ::OAuth::Consumer.new(ctoken, csecret, :site => 'https://api.tripit.com') end
Public Instance Methods
create(param)
click to toggle source
Only takes XML
# File lib/trip_it/oauth.rb, line 44 def create(param) request = access_token.post("/v1/create", "xml=<Request>#{URI.escape(param)}</Request>", {'Content-Type' => 'application/x-www-form-urlencoded'}) returnResponse(request, "xml") end
delete(resource, params={})
click to toggle source
# File lib/trip_it/oauth.rb, line 55 def delete(resource, params={}) params.merge!(:format => "json") params_string = params.collect{|k, v| "#{k}/#{v}"}.join('/') request = access_token.get("/v1/delete#{resource}/#{URI.escape(params_string)}") returnResponse(request) end
get(resource, params={})
click to toggle source
# File lib/trip_it/oauth.rb, line 29 def get(resource, params={}) params.merge!(:format => "json") params_string = params.collect{|k, v| "#{k}/#{v}"}.join('/') request = access_token.get("/v1/get#{resource}/#{URI.escape(params_string)}") returnResponse(request) end
list(resource, params={})
click to toggle source
# File lib/trip_it/oauth.rb, line 36 def list(resource, params={}) params.merge!(:format => "json") params_string = params.collect{|k, v| "#{k}/#{v}"}.join('/') request = access_token.get("/v1/list#{resource}/#{URI.escape(params_string)}") returnResponse(request) end
replace(resource, param)
click to toggle source
Only takes XML
# File lib/trip_it/oauth.rb, line 50 def replace(resource, param) request = access_token.post("/v1/replace#{resource}", "xml=<Request>#{URI.escape(param)}</Request>", {'Content-Type' => 'application/x-www-form-urlencoded'}) returnResponse(request, "xml") end
request_token(options={})
click to toggle source
# File lib/trip_it/oauth.rb, line 15 def request_token(options={}) @request_token ||= consumer.get_request_token(options) end
returnResponse(request, format = "")
click to toggle source
# File lib/trip_it/oauth.rb, line 72 def returnResponse(request, format = "") case request when Net::HTTPOK if format == "xml" return request.body else return JSON.parse(request.body) end when Net::HTTPBadRequest raise BadRequestException, request.body when Net::HTTPUnauthorized raise UnauthorizedException, request.body when Net::HTTPNotFound raise NotFoundException, request.body when Net::HTTPInternalServerError raise ServerError, request.body when Net::HTTPForbidden raise ForbiddenException, request.body when Net::HTTPServiceUnavailable raise ServiceUnavailableError, request.body end end
set_callback_url(url)
click to toggle source
# File lib/trip_it/oauth.rb, line 10 def set_callback_url(url) @request_token = nil request_token(:oauth_callback => url) end
subscribe(resource)
click to toggle source
# File lib/trip_it/oauth.rb, line 62 def subscribe(resource) request = access_token.get("/v1/subscribe/type#{resource}") returnResponse(request) end
unsubscribe()
click to toggle source
# File lib/trip_it/oauth.rb, line 67 def unsubscribe request = access_token.get("/v1/unsubscribe") returnResponse(request) end