module Teambition::API
Mix-in module to introduce Teambition
APIs
Attributes
token[RW]
@return [String] teambition token of given user
Public Instance Methods
delete(path)
click to toggle source
DELETE @param path [String] @return [Hash] @raise JSON::ParserError
# File lib/teambition/api.rb, line 66 def delete(path) uri = URI.join(API_DOMAIN, path + "?access_token=#{token}") req = Net::HTTP::Delete.new(uri) res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |https| https.request(req) end JSON.parse(res.body) end
get(path)
click to toggle source
GET @param path [String] @raise JSON::ParserError
# File lib/teambition/api.rb, line 23 def get(path) uri = URI.join(API_DOMAIN, path + "?access_token=#{token}") JSON.parse(Net::HTTP.get(uri)) end
post(path, params = {})
click to toggle source
POST @param path [String] @param params [Hash] @return [Hash] @raise JSON::ParserError
# File lib/teambition/api.rb, line 33 def post(path, params = {}) uri = URI.join(API_DOMAIN, path + "?access_token=#{token}") req = Net::HTTP::Post.new(uri) req.set_form_data(params) res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |https| https.request(req) end JSON.parse(res.body) end
put(path, params = {})
click to toggle source
PUT @param path [String] @param params [Hash] @return [Hash] @raise JSON::ParserError
# File lib/teambition/api.rb, line 50 def put(path, params = {}) uri = URI.join(API_DOMAIN, path + "?access_token=#{token}") req = Net::HTTP::Put.new(uri) req.set_form_data(params) res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |https| https.request(req) end JSON.parse(res.body) end
valid_token?()
click to toggle source
Validate the token
# File lib/teambition/api.rb, line 8 def valid_token? uri = URI.join(Teambition::API_DOMAIN, "/api/applications/#{Teambition.client_key}/tokens/check") req = Net::HTTP::Get.new(uri) req['Authorization'] = "OAuth2 #{token}" res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |https| https.request(req) end res.code == '200' end