rtmapi 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -244,10 +244,10 @@ class RememberTheMilk
244
244
  data = new_hash
245
245
  elsif data.class == RememberTheMilkHash # only one list
246
246
  data = process_task_list( data[:id], data.arrayify_value(:taskseries) )
247
- elsif data.class == NilClass # empty list
247
+ elsif data.class == NilClass || (data.class == String && data == args['list_id']) # empty list
248
248
  data = new_hash
249
249
  else # who knows...
250
- debug( "got a class of (%s) when processing tasks. passing it on through", data.class )
250
+ debug( "got a class of (%s [%s]) when processing tasks. passing it on through", data.class, data )
251
251
  end
252
252
  when :groups
253
253
  # contacts expected to be array, so look at each group and fix it's contact
@@ -336,28 +336,26 @@ class RememberTheMilk
336
336
 
337
337
  def call_api_method( method, args={} )
338
338
 
339
- unless args.has_key?(:test_data)
340
- args['method'] = "rtm.#{method}"
341
- args['api_key'] = @api_key
342
- args['auth_token'] ||= @auth_token if @auth_token
343
-
344
- # make sure everything in our arguments is a string
345
- args.each do |key,value|
346
- key_s = key.to_s
347
- args.delete(key) if key.class != String
348
- args[key_s] = value.to_s
349
- end
339
+ args['method'] = "rtm.#{method}"
340
+ args['api_key'] = @api_key
341
+ args['auth_token'] ||= @auth_token if @auth_token
342
+
343
+ # make sure everything in our arguments is a string
344
+ args.each do |key,value|
345
+ key_s = key.to_s
346
+ args.delete(key) if key.class != String
347
+ args[key_s] = value.to_s
348
+ end
349
+
350
+ args['api_sig'] = sign_request(args)
350
351
 
351
- args['api_sig'] = sign_request(args)
352
+ debug( 'rtm.%s(%s)', method, args.inspect )
352
353
 
353
- debug( 'rtm.%s(%s)', method, args.inspect )
354
- end
355
-
356
354
  attempts_left = @max_connection_attempts
357
355
 
358
356
  begin
359
- if args.has_key?(:test_data)
360
- @xml_parser.string = args[:test_data]
357
+ if args.has_key?('test_data')
358
+ @xml_parser.string = args['test_data']
361
359
  else
362
360
  attempts_left -= 1
363
361
  response = Net::HTTP.get_response(@uri.host, "#{@uri.path}?#{args.keys.collect {|k| "#{CGI::escape(k).gsub(/ /,'+')}=#{CGI::escape(args[k]).gsub(/ /,'+')}"}.join('&')}")
@@ -547,7 +545,8 @@ class RememberTheMilkTask < RememberTheMilkHash
547
545
  other_due = (other.has_key?(:tasks) && other.tasks.class == Array) ? other.task[:due] : nil
548
546
  other_due = @@BeginningOfEpoch unless other_due.class == Time
549
547
 
550
- # sort based on due date, then priority, then name
548
+ # sort based on priority, then due date, then name
549
+ # which is the rememberthemilk default
551
550
  # if 0 was false in ruby, we could have done
552
551
  # prio <=> other_due || due <=> other_due || self['name'].to_s <=> other['name'].to_s
553
552
  # but it's not, so oh well....
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <rsp stat="ok"><tasks><list id="759197"/></tasks></rsp>
@@ -258,6 +258,13 @@ class TestRememberTheMilk < Test::Unit::TestCase
258
258
  assert_equal "only one task in this list", data.values[0].name
259
259
  end
260
260
 
261
+ def test_rtm_tasks_getList_empty
262
+ list_id = "759197"
263
+ data = @rtm.tasks.getList( :list_id => list_id )
264
+ assert_equal RememberTheMilkHash, data.class
265
+ assert_equal 0, data.keys.size
266
+ end
267
+
261
268
 
262
269
  def test_rtm_get_task_and_is_complete
263
270
  data = @rtm.tasks.getList( :list_id => '421865' )
@@ -497,8 +504,6 @@ class TestRememberTheMilk < Test::Unit::TestCase
497
504
 
498
505
  end
499
506
 
500
- # TODO: add-- def test_rtm_tasks_getList_empty
501
-
502
507
  def test_rtm_tasks_setRecurrence
503
508
  list_id = @APITestListId
504
509
  tasks = @rtm.tasks.getList( :list_id => list_id )
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.1
3
3
  specification_version: 1
4
4
  name: rtmapi
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.6.1
7
- date: 2007-02-01 00:00:00 -05:00
6
+ version: 0.6.2
7
+ date: 2007-02-05 00:00:00 -05:00
8
8
  summary: Simple library for interfacing with rememberthemilk.com.
9
9
  require_paths:
10
10
  - lib
@@ -67,6 +67,7 @@ files:
67
67
  - test/data/test_rtm_tasks_add.3.xml
68
68
  - test/data/test_rtm_tasks_getList.1.xml
69
69
  - test/data/test_rtm_tasks_getList_all.1.xml
70
+ - test/data/test_rtm_tasks_getList_empty.1.xml
70
71
  - test/data/test_rtm_tasks_getList_from_smartlist.1.xml
71
72
  - test/data/test_rtm_tasks_getList_with_only_one_task.1.xml
72
73
  - test/data/test_rtm_tasks_setDueDate.1.xml