bcx 0.0.1 → 0.0.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.
Files changed (41) hide show
  1. data/.rspec +1 -0
  2. data/Gemfile +1 -1
  3. data/README.md +64 -15
  4. data/Rakefile +5 -1
  5. data/bcx.gemspec +5 -0
  6. data/lib/bcx.rb +7 -2
  7. data/lib/bcx/client.rb +11 -4
  8. data/lib/bcx/configuration.rb +9 -0
  9. data/lib/bcx/resources/person.rb +13 -0
  10. data/lib/bcx/resources/project.rb +40 -2
  11. data/lib/bcx/resources/todo.rb +37 -0
  12. data/lib/bcx/resources/todolist.rb +40 -1
  13. data/lib/bcx/response_error.rb +17 -0
  14. data/lib/bcx/version.rb +1 -1
  15. data/spec/bcx/client_spec.rb +40 -0
  16. data/spec/bcx/project_spec.rb +65 -0
  17. data/spec/bcx/todolist_spec.rb +75 -0
  18. data/spec/cassettes/Bcx_Resources_Project/DELETE_/projects/2937644/should_delete_a_project.yml +105 -0
  19. data/spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_have_the_correct_id.yml +60 -0
  20. data/spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_return_a_hash.yml +60 -0
  21. data/spec/cassettes/Bcx_Resources_Project/GET_/projects/archived/should_be_an_array.yml +58 -0
  22. data/spec/cassettes/Bcx_Resources_Project/GET_/projects/archived/should_be_empty.yml +58 -0
  23. data/spec/cassettes/Bcx_Resources_Project/GET_/projects/first_project_should_have_the_correct_id.yml +59 -0
  24. data/spec/cassettes/Bcx_Resources_Project/GET_/projects/should_be_an_array.yml +59 -0
  25. data/spec/cassettes/Bcx_Resources_Project/POST_/projects/should_create_a_new_project.yml +63 -0
  26. data/spec/cassettes/Bcx_Resources_Project/PUT_/projects/2937644/should_update_an_existing_project.yml +58 -0
  27. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/first_todolist_should_have_the_correct_id.yml +59 -0
  28. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/should_be_an_array.yml +59 -0
  29. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_have_the_correct_id.yml +67 -0
  30. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_return_a_hash.yml +67 -0
  31. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2937644/todolists_json/first_todolist_should_have_the_correct_id.yml +114 -0
  32. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2937644/todolists_json/should_be_an_array.yml +114 -0
  33. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2956584/todolists/completed_json/first_todolist_should_have_the_correct_id.yml +59 -0
  34. data/spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2956584/todolists/completed_json/should_be_an_array.yml +59 -0
  35. data/spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/first_todolist_should_have_the_correct_id.yml +60 -0
  36. data/spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/should_be_an_array.yml +60 -0
  37. data/spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/first_todolist_should_have_the_correct_id.yml +60 -0
  38. data/spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/should_be_an_array.yml +60 -0
  39. data/spec/cassettes/Bcx_Resources_Todolist/projects/123/todolists_json/should_create_a_new_todolist.yml +62 -0
  40. data/spec/spec_helper.rb +21 -0
  41. metadata +103 -8
@@ -0,0 +1,59 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 20:28:55 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ etag:
46
+ - ! '"58d12b1c36519a45ee30a8e6088f855c"'
47
+ cache-control:
48
+ - max-age=0, private, must-revalidate
49
+ x-request-id:
50
+ - 21ea64e5-292f-42a0-9717-926eb40d1fba
51
+ x-runtime:
52
+ - '0.460114'
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ! '[{"id":2937644,"name":"Explore Basecamp!","description":"New description","archived":false,"created_at":"2013-05-24T18:59:10.000Z","updated_at":"2013-05-28T20:18:46.000Z","last_event_at":"2013-05-28T20:18:46.000Z","starred":false,"url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp.json"},{"id":2951531,"name":"New
56
+ project","description":"A new project created over the API","archived":false,"created_at":"2013-05-28T14:11:45.000Z","updated_at":"2013-05-28T14:11:45.000Z","last_event_at":"2013-05-28T14:11:45.000Z","starred":false,"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project.json"}]'
57
+ http_version:
58
+ recorded_at: Tue, 28 May 2013 20:28:55 GMT
59
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://basecamp.com/2274488/api/v1/projects.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"name":"New project","description":"A new project created over the
9
+ API"}'
10
+ headers:
11
+ User-Agent:
12
+ - Faraday v0.8.7
13
+ Content-Type:
14
+ - application/json
15
+ Authorization:
16
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
17
+ response:
18
+ status:
19
+ code: 201
20
+ message:
21
+ headers:
22
+ server:
23
+ - nginx
24
+ date:
25
+ - Tue, 28 May 2013 20:29:01 GMT
26
+ content-type:
27
+ - application/json; charset=utf-8
28
+ transfer-encoding:
29
+ - chunked
30
+ connection:
31
+ - close
32
+ status:
33
+ - 201 Created
34
+ x-frame-options:
35
+ - SAMEORIGIN
36
+ x-xss-protection:
37
+ - 1; mode=block
38
+ x-content-type-options:
39
+ - nosniff
40
+ x-ua-compatible:
41
+ - chrome=1
42
+ x-xhr-current-location:
43
+ - /2274488/api/v1/projects.json
44
+ x-asset-paths:
45
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
46
+ location:
47
+ - https://basecamp.com/2274488/api/v1/projects/2956584-new-project.json
48
+ etag:
49
+ - ! '"63ebe55b140e09e04699f634b16e299c"'
50
+ cache-control:
51
+ - max-age=0, private, must-revalidate
52
+ x-request-id:
53
+ - df6620ff-b728-41ec-929b-223323993bb1
54
+ x-runtime:
55
+ - '0.398166'
56
+ body:
57
+ encoding: US-ASCII
58
+ string: ! '{"id":2956584,"name":"New project","description":"A new project created
59
+ over the API","archived":false,"created_at":"2013-05-28T20:29:01.889Z","updated_at":"2013-05-28T20:29:01.889Z","last_event_at":"2013-05-28T20:29:01.000Z","starred":false,"creator":{"id":4666033,"name":"Paul
60
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"accesses":{"count":1,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/accesses.json"},"attachments":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/attachments.json"},"calendar_events":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/calendar_events.json"},"documents":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/documents.json"},"forwards":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/forwards.json"},"topics":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/topics.json"},"todolists":{"remaining_count":0,"completed_count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todolists.json"}}'
61
+ http_version:
62
+ recorded_at: Tue, 28 May 2013 20:29:02 GMT
63
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,58 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2937644.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"description":"New description"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 20:29:03 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects/2937644.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ etag:
46
+ - ! '"c585b88e446e1541d3e9092a25f613f0"'
47
+ cache-control:
48
+ - max-age=0, private, must-revalidate
49
+ x-request-id:
50
+ - 0b483534-d845-4bde-895b-53a24c3a8861
51
+ x-runtime:
52
+ - '0.376910'
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ! '{"id":2937644,"name":"Explore Basecamp!","description":"New description","archived":false,"created_at":"2013-05-24T18:59:10.000Z","updated_at":"2013-05-28T20:18:46.000Z","last_event_at":"2013-05-28T20:18:46.000Z","starred":false,"creator":{"id":4666034,"name":"Basecamp","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/79383b7fc061815979c8c638784be44d4aa4628aaa16ee5614658a2b4d662eb9ce6fc85f0ea77f81b6e6bd3cdb9c266f42cbf1d2426968d83cb50f0d3078fcd65e6055e264b268aa44ffaa94d9475efa/avatar.gif?r=3"},"accesses":{"count":1,"updated_at":"2013-05-24T18:59:13.000Z","url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/accesses.json"},"attachments":{"count":17,"updated_at":"2012-08-22T22:16:46.000Z","url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/attachments.json"},"calendar_events":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/calendar_events.json"},"documents":{"count":3,"updated_at":"2012-11-23T20:27:39.000Z","url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/documents.json"},"forwards":{"count":0,"updated_at":null,"url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/forwards.json"},"topics":{"count":9,"updated_at":"2013-05-28T12:30:00.000Z","url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/topics.json"},"todolists":{"remaining_count":2,"completed_count":0,"updated_at":"2012-05-17T19:52:13.000Z","url":"https://basecamp.com/2274488/api/v1/projects/2937644-explore-basecamp/todolists.json"}}'
56
+ http_version:
57
+ recorded_at: Tue, 28 May 2013 20:29:03 GMT
58
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,59 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists/completed.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 20:46:50 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects/2956584/todolists/completed.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ last-modified:
46
+ - Tue, 28 May 2013 20:45:40 GMT
47
+ cache-control:
48
+ - max-age=0, private, must-revalidate
49
+ x-request-id:
50
+ - a0177e2a-1f83-40e8-ab13-9778a48bbda6
51
+ x-runtime:
52
+ - '0.309586'
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ! '[{"id":7701289,"name":"Second todolist","description":null,"created_at":"2013-05-28T20:45:08.000Z","updated_at":"2013-05-28T20:45:19.000Z","completed":true,"position":1,"remaining_count":0,"completed_count":2,"creator":{"id":4666033,"name":"Paul
56
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todolists/7701289-second-todolist.json"}]'
57
+ http_version:
58
+ recorded_at: Tue, 28 May 2013 20:46:50 GMT
59
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,59 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists/completed.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 20:46:49 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects/2956584/todolists/completed.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ last-modified:
46
+ - Tue, 28 May 2013 20:45:40 GMT
47
+ cache-control:
48
+ - max-age=0, private, must-revalidate
49
+ x-request-id:
50
+ - 71e0d231-abb6-42ad-b2cb-4f7a80cde2bc
51
+ x-runtime:
52
+ - '0.348461'
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ! '[{"id":7701289,"name":"Second todolist","description":null,"created_at":"2013-05-28T20:45:08.000Z","updated_at":"2013-05-28T20:45:19.000Z","completed":true,"position":1,"remaining_count":0,"completed_count":2,"creator":{"id":4666033,"name":"Paul
56
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todolists/7701289-second-todolist.json"}]'
57
+ http_version:
58
+ recorded_at: Tue, 28 May 2013 20:46:49 GMT
59
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists/7701289.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 21:14:53 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects/2956584/todolists/7701289.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ etag:
46
+ - ! '"2da09fd8d9f1670edc1a7d895410403b"'
47
+ last-modified:
48
+ - Tue, 28 May 2013 20:45:19 GMT
49
+ cache-control:
50
+ - max-age=0, private, must-revalidate
51
+ x-request-id:
52
+ - d6a64a46-cbae-4b8a-b6b2-ae8d69c5c6a3
53
+ x-runtime:
54
+ - '0.417995'
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ! '{"id":7701289,"name":"Second todolist","description":null,"created_at":"2013-05-28T20:45:08.000Z","updated_at":"2013-05-28T20:45:19.000Z","completed":true,"position":1,"remaining_count":0,"completed_count":2,"creator":{"id":4666033,"name":"Paul
58
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"todos":{"remaining":[],"completed":[{"id":45043294,"todolist_id":7701289,"position":1,"content":"Test
59
+ 2","completed":true,"created_at":"2013-05-28T20:45:14.000Z","updated_at":"2013-05-28T20:45:19.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
60
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"completed_at":"2013-05-28T20:45:19.000Z","completer":{"id":4666033,"name":"Paul
61
+ Springett"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todos/45043294-test-2.json"},{"id":45043284,"todolist_id":7701289,"position":1,"content":"Test","completed":true,"created_at":"2013-05-28T20:45:11.000Z","updated_at":"2013-05-28T20:45:17.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
62
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"completed_at":"2013-05-28T20:45:17.000Z","completer":{"id":4666033,"name":"Paul
63
+ Springett"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todos/45043284-test.json"}]},"comments":[],"subscribers":[{"id":4666033,"name":"Paul
64
+ Springett"}]}'
65
+ http_version:
66
+ recorded_at: Tue, 28 May 2013 21:14:53 GMT
67
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists/7701289.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 21:14:41 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects/2956584/todolists/7701289.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ etag:
46
+ - ! '"2da09fd8d9f1670edc1a7d895410403b"'
47
+ last-modified:
48
+ - Tue, 28 May 2013 20:45:19 GMT
49
+ cache-control:
50
+ - max-age=0, private, must-revalidate
51
+ x-request-id:
52
+ - 9fc59d76-1e9e-4372-b13f-8dbebe0150fa
53
+ x-runtime:
54
+ - '0.322071'
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ! '{"id":7701289,"name":"Second todolist","description":null,"created_at":"2013-05-28T20:45:08.000Z","updated_at":"2013-05-28T20:45:19.000Z","completed":true,"position":1,"remaining_count":0,"completed_count":2,"creator":{"id":4666033,"name":"Paul
58
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"todos":{"remaining":[],"completed":[{"id":45043294,"todolist_id":7701289,"position":1,"content":"Test
59
+ 2","completed":true,"created_at":"2013-05-28T20:45:14.000Z","updated_at":"2013-05-28T20:45:19.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
60
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"completed_at":"2013-05-28T20:45:19.000Z","completer":{"id":4666033,"name":"Paul
61
+ Springett"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todos/45043294-test-2.json"},{"id":45043284,"todolist_id":7701289,"position":1,"content":"Test","completed":true,"created_at":"2013-05-28T20:45:11.000Z","updated_at":"2013-05-28T20:45:17.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
62
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"completed_at":"2013-05-28T20:45:17.000Z","completer":{"id":4666033,"name":"Paul
63
+ Springett"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todos/45043284-test.json"}]},"comments":[],"subscribers":[{"id":4666033,"name":"Paul
64
+ Springett"}]}'
65
+ http_version:
66
+ recorded_at: Tue, 28 May 2013 21:14:41 GMT
67
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,114 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2937644/todolists.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
16
+ response:
17
+ status:
18
+ code: 200
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 20:38:55 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 200 OK
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ x-ua-compatible:
40
+ - chrome=1
41
+ x-xhr-current-location:
42
+ - /2274488/api/v1/projects/2937644/todolists.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ last-modified:
46
+ - Thu, 17 May 2012 19:52:13 GMT
47
+ cache-control:
48
+ - max-age=0, private, must-revalidate
49
+ x-request-id:
50
+ - fd80908f-bd79-4cb6-98fa-a20f62f6b0c7
51
+ x-runtime:
52
+ - '0.353101'
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ! '[]'
56
+ http_version:
57
+ recorded_at: Tue, 28 May 2013 20:38:55 GMT
58
+ - request:
59
+ method: get
60
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists.json
61
+ body:
62
+ encoding: US-ASCII
63
+ string: ''
64
+ headers:
65
+ User-Agent:
66
+ - Faraday v0.8.7
67
+ Content-Type:
68
+ - application/json
69
+ Authorization:
70
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
71
+ response:
72
+ status:
73
+ code: 200
74
+ message:
75
+ headers:
76
+ server:
77
+ - nginx
78
+ date:
79
+ - Tue, 28 May 2013 20:42:25 GMT
80
+ content-type:
81
+ - application/json; charset=utf-8
82
+ transfer-encoding:
83
+ - chunked
84
+ connection:
85
+ - close
86
+ status:
87
+ - 200 OK
88
+ x-frame-options:
89
+ - SAMEORIGIN
90
+ x-xss-protection:
91
+ - 1; mode=block
92
+ x-content-type-options:
93
+ - nosniff
94
+ x-ua-compatible:
95
+ - chrome=1
96
+ x-xhr-current-location:
97
+ - /2274488/api/v1/projects/2956584/todolists.json
98
+ x-asset-paths:
99
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
100
+ last-modified:
101
+ - Tue, 28 May 2013 20:41:46 GMT
102
+ cache-control:
103
+ - max-age=0, private, must-revalidate
104
+ x-request-id:
105
+ - 99a89418-ba32-4819-be1b-f3b8af9006c6
106
+ x-runtime:
107
+ - '0.330322'
108
+ body:
109
+ encoding: US-ASCII
110
+ string: ! '[{"id":7701209,"name":"First todolist","description":null,"created_at":"2013-05-28T20:41:46.000Z","updated_at":"2013-05-28T20:41:46.000Z","completed":false,"position":1,"remaining_count":0,"completed_count":0,"creator":{"id":4666033,"name":"Paul
111
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todolists/7701209-first-todolist.json"}]'
112
+ http_version:
113
+ recorded_at: Tue, 28 May 2013 20:42:25 GMT
114
+ recorded_with: VCR 2.5.0