class Fog::Tasks::Wunderlist::Real
Public Class Methods
new(options={})
click to toggle source
# File lib/fog/wunderlist/tasks.rb, line 60 def initialize(options={}) @username = options[:wunderlist_username] @password = options[:wunderlist_password] @api_url = options[:wunderlist_api_url] || 'https://api.wunderlist.com' @connection = Fog::Connection.new(@api_url) @auth_data = authenticate end
Public Instance Methods
create_list(title, attributes = {})
click to toggle source
# File lib/fog/wunderlist/requests/tasks/create_list.rb, line 6 def create_list(title, attributes = {}) request( :expects => [201], :method => 'POST', :path => "/me/lists", :body => { :title => title }.merge(attributes) ) end
create_task(title, list_id, attributes = {})
click to toggle source
# File lib/fog/wunderlist/requests/tasks/create_task.rb, line 6 def create_task(title, list_id, attributes = {}) request( :expects => [201], :method => 'POST', :path => "/me/tasks", :body => { :title => title, :list_id => list_id }.merge(attributes) ) end
delete_list(id)
click to toggle source
# File lib/fog/wunderlist/requests/tasks/delete_list.rb, line 6 def delete_list(id) request( :expects => [200], :method => 'DELETE', :path => "/#{id}" ) end
delete_task(id)
click to toggle source
# File lib/fog/wunderlist/requests/tasks/delete_task.rb, line 6 def delete_task(id) request( :expects => [200], :method => 'DELETE', :path => "/#{id}" ) end
get_task(id)
click to toggle source
# File lib/fog/wunderlist/requests/tasks/get_task.rb, line 6 def get_task(id) request( :expects => [200], :method => 'GET', :path => "/me/#{id}" ) end
list_lists()
click to toggle source
# File lib/fog/wunderlist/requests/tasks/list_lists.rb, line 6 def list_lists request( :expects => [200], :method => 'GET', :path => '/me/lists' ) end
list_tasks()
click to toggle source
# File lib/fog/wunderlist/requests/tasks/list_tasks.rb, line 6 def list_tasks request( :expects => [200], :method => 'GET', :path => '/me/tasks' ) end
reload()
click to toggle source
# File lib/fog/wunderlist/tasks.rb, line 68 def reload @connection.reset end
request(params = {})
click to toggle source
# File lib/fog/wunderlist/tasks.rb, line 72 def request(params = {}) params.merge!( :headers => { 'Authorization' => "Bearer #{@auth_data['token']}", 'Content-Type' => 'application/json; charset=utf-8' }, :body => Fog::JSON.encode(params[:body]) ) response = @connection.request(params) unless response.body.empty? response.body = Fog::JSON.decode(response.body) #if response.body['status'] != 'OK' # raise Fog::Errors::Error.new #end end response end
update_list(id, attributes = {})
click to toggle source
# File lib/fog/wunderlist/requests/tasks/update_list.rb, line 6 def update_list(id, attributes = {}) request( :expects => [200], :method => 'PUT', :path => "#{id}", :body => attributes ) end
update_task(id, attributes = {})
click to toggle source
# File lib/fog/wunderlist/requests/tasks/update_task.rb, line 6 def update_task(id, attributes = {}) request( :expects => [200], :method => 'PUT', :path => "#{id}", :body => attributes ) end
Private Instance Methods
authenticate()
click to toggle source
# File lib/fog/wunderlist/tasks.rb, line 92 def authenticate res = @connection.request :method => 'POST', :path => '/login', :expects => [200], :body => Fog::JSON.encode({ :email => @username, :password => @password }) Fog::JSON.decode(res.body) end