class Ididthis::API::Client
TODO: Investigate using the ActiveResource-style calls Class for accessing the iDoneThis API
Attributes
token[W]
Public Class Methods
new(token)
click to toggle source
# File lib/ididthis/api.rb, line 10 def initialize(token) @token = token end
Public Instance Methods
dones(options)
click to toggle source
# File lib/ididthis/api.rb, line 68 def dones(options) RestClient.get( ENDPOINTS[:dones], header_map.merge(:params => options) ) do |response, request, result, &block| case response.code when 200 resp = JSON.parse(response, :symbolize_names => true) resp[:ok] ? resp[:results] : {} else response.return!(request, result, &block) end end end
header_map()
click to toggle source
# File lib/ididthis/api.rb, line 83 def header_map { :content_type => :json, :accept => :json, :Authorization => "Token #{@token}" } end
post_done(done, team, options)
click to toggle source
# File lib/ididthis/api.rb, line 55 def post_done(done, team, options) payload = { raw_text: done, team: team }.merge(options) RestClient.post( ENDPOINTS[:dones], payload.to_json, header_map) do |response| case response.code when 201 puts "Posted your done!" else puts "Something went wrong, HTTP status code was #{response.code}." end end end
team()
click to toggle source
# File lib/ididthis/api.rb, line 41 def team RestClient.get( Ididthis::Config[:team], header_map ) do |response, request, result, &block| case response.code when 200 resp = JSON.parse(response.body, :symbolize_names => true) resp[:ok] ? resp[:result] : {} else response.return!(request, result, &block) end end end
teams()
click to toggle source
# File lib/ididthis/api.rb, line 25 def teams RestClient.get( ENDPOINTS[:team], header_map ) do |response, request, result, &block| case response.code when 200 resp = JSON.parse(response.body, :symbolize_names => true) # FIXME: This is not right, need to throw an error when no teams # are found resp[:ok] ? resp[:results] : [] else response.return!(request, result, &block) end end end
validate_token()
click to toggle source
# File lib/ididthis/api.rb, line 14 def validate_token RestClient.get(ENDPOINTS[:noop], header_map) do |response| case response.code when 200 return true else return false end end end