bcx 0.0.2 → 0.1.0

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 (60) hide show
  1. data/.travis.yml +6 -0
  2. data/README.md +57 -4
  3. data/docs/bcx.html +171 -0
  4. data/docs/configuration.html +128 -0
  5. data/docs/docco.css +500 -0
  6. data/docs/http.html +125 -0
  7. data/docs/oauth.html +127 -0
  8. data/docs/person.html +125 -0
  9. data/docs/project.html +143 -0
  10. data/docs/public/fonts/aller-bold.eot +0 -0
  11. data/docs/public/fonts/aller-bold.ttf +0 -0
  12. data/docs/public/fonts/aller-bold.woff +0 -0
  13. data/docs/public/fonts/aller-light.eot +0 -0
  14. data/docs/public/fonts/aller-light.ttf +0 -0
  15. data/docs/public/fonts/aller-light.woff +0 -0
  16. data/docs/public/fonts/fleurons.eot +0 -0
  17. data/docs/public/fonts/fleurons.ttf +0 -0
  18. data/docs/public/fonts/fleurons.woff +0 -0
  19. data/docs/public/fonts/novecento-bold.eot +0 -0
  20. data/docs/public/fonts/novecento-bold.ttf +0 -0
  21. data/docs/public/fonts/novecento-bold.woff +0 -0
  22. data/docs/public/images/gray.png +0 -0
  23. data/docs/public/stylesheets/normalize.css +375 -0
  24. data/docs/response_error.html +117 -0
  25. data/docs/todo.html +138 -0
  26. data/docs/todolist.html +148 -0
  27. data/docs/version.html +103 -0
  28. data/lib/bcx/client/http.rb +25 -0
  29. data/lib/bcx/client/oauth.rb +27 -0
  30. data/lib/bcx/resources/person.rb +30 -7
  31. data/lib/bcx/resources/project.rb +7 -10
  32. data/lib/bcx/resources/todolist.rb +11 -4
  33. data/lib/bcx/version.rb +1 -1
  34. data/lib/bcx.rb +12 -1
  35. data/spec/bcx/client_spec.rb +24 -19
  36. data/spec/bcx/person_spec.rb +55 -0
  37. data/spec/bcx/project_spec.rb +1 -1
  38. data/spec/bcx/todo_spec.rb +43 -0
  39. data/spec/bcx/todolist_spec.rb +19 -3
  40. data/spec/cassettes/Bcx_Client/error_handling/should_raise_exception.yml +56 -0
  41. data/spec/cassettes/Bcx_Resources_Person/DELETE_/people/4904728_json/should_delete_a_todolist.yml +101 -0
  42. data/spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_have_the_correct_id.yml +58 -0
  43. data/spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_return_a_hash.yml +58 -0
  44. data/spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_have_assigned_todos.yml +58 -0
  45. data/spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_have_the_correct_id.yml +58 -0
  46. data/spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_return_a_hash.yml +58 -0
  47. data/spec/cassettes/Bcx_Resources_Person/GET_/people_json/first_person_should_have_the_correct_id.yml +56 -0
  48. data/spec/cassettes/Bcx_Resources_Person/GET_/people_json/should_be_an_array.yml +56 -0
  49. data/spec/cassettes/Bcx_Resources_Todo/DELETE_/projects/2951531/todos/48545200_json/should_delete_the_given_todo.yml +101 -0
  50. data/spec/cassettes/Bcx_Resources_Todo/GET_/projects/2951531/todos/48545200_json/should_have_the_correct_id.yml +61 -0
  51. data/spec/cassettes/Bcx_Resources_Todo/GET_/projects/2951531/todos/48545200_json/should_return_a_hash.yml +61 -0
  52. data/spec/cassettes/Bcx_Resources_Todo/POST_/projects/2951531/todolists/2951531/todos_json/should_create_a_new_todo.yml +56 -0
  53. data/spec/cassettes/Bcx_Resources_Todo/POST_/projects/2951531/todolists/8268819/todos_json/should_create_a_new_todo.yml +62 -0
  54. data/spec/cassettes/Bcx_Resources_Todo/PUT_/projects/2951531/todos/48545200_json/should_update_an_existing_todo.yml +61 -0
  55. data/spec/cassettes/Bcx_Resources_Todolist/DELETE_/projects/2956584/todolists/8268819_json/should_create_a_new_todolist.yml +66 -0
  56. data/spec/cassettes/Bcx_Resources_Todolist/DELETE_/projects/2956584/todolists/8268819_json/should_delete_a_todolist.yml +101 -0
  57. data/spec/cassettes/Bcx_Resources_Todolist/POST_/projects/123/todolists_json/should_create_a_new_todolist.yml +62 -0
  58. data/spec/cassettes/Bcx_Resources_Todolist/PUT_/projects/2956584/todolists/8268819_json/should_create_a_new_todolist.yml +186 -0
  59. metadata +88 -14
  60. data/lib/bcx/client.rb +0 -24
@@ -0,0 +1,186 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists/8268819.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"name":"Renamed todolist"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Authorization:
13
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
14
+ Content-Type:
15
+ - application/json
16
+ response:
17
+ status:
18
+ code: 301
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Fri, 21 Jun 2013 22:11:54 GMT
25
+ content-type:
26
+ - text/html; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 301 Moved Permanently
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/8268819.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-eb8afc75ba8fcbb36b8518826dd32bc5.js","application.css":"application-18059b31e3ebdcca82003cfaf2564179.css"}'
45
+ location:
46
+ - https://basecamp.com/2274488/api/v1/projects/2951531/todolists/8268819.json?moved=true
47
+ cache-control:
48
+ - no-cache
49
+ x-request-id:
50
+ - dff7cb08-4935-427f-a4ed-2f60351e02a7
51
+ x-runtime:
52
+ - '0.119044'
53
+ body:
54
+ encoding: US-ASCII
55
+ string: <html><body>You are being <a href="https://basecamp.com/2274488/api/v1/projects/2951531/todolists/8268819.json?moved=true">redirected</a>.</body></html>
56
+ http_version:
57
+ recorded_at: Fri, 21 Jun 2013 22:11:54 GMT
58
+ - request:
59
+ method: get
60
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/todolists/8268819.json?moved=true
61
+ body:
62
+ encoding: US-ASCII
63
+ string: ''
64
+ headers:
65
+ User-Agent:
66
+ - Faraday v0.8.7
67
+ Authorization:
68
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
69
+ Content-Type:
70
+ - application/json
71
+ response:
72
+ status:
73
+ code: 200
74
+ message:
75
+ headers:
76
+ server:
77
+ - nginx
78
+ date:
79
+ - Fri, 21 Jun 2013 22:11:54 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/2951531/todolists/8268819.json?moved=true
98
+ x-asset-paths:
99
+ - ! '{"application.js":"application-eb8afc75ba8fcbb36b8518826dd32bc5.js","application.css":"application-18059b31e3ebdcca82003cfaf2564179.css"}'
100
+ etag:
101
+ - ! '"81e46ff9ee5f546c6d98d48c720a938d"'
102
+ last-modified:
103
+ - Fri, 21 Jun 2013 22:06:49 GMT
104
+ cache-control:
105
+ - max-age=0, private, must-revalidate
106
+ x-request-id:
107
+ - dd670c7a-121f-4c98-acb8-d80de79568bf
108
+ x-runtime:
109
+ - '0.163867'
110
+ body:
111
+ encoding: US-ASCII
112
+ string: ! '{"id":8268819,"name":"Example todolist","description":null,"created_at":"2013-06-21T21:50:13.000Z","updated_at":"2013-06-21T22:06:49.000Z","completed":false,"position":1,"remaining_count":3,"completed_count":0,"creator":{"id":4666033,"name":"Paul
113
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"todos":{"remaining":[{"id":48545209,"todolist_id":8268819,"position":1,"content":"Another
114
+ todo","completed":false,"created_at":"2013-06-21T21:50:24.000Z","updated_at":"2013-06-21T21:50:24.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
115
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project/todos/48545209-another-todo.json"},{"id":48545212,"todolist_id":8268819,"position":2,"content":"Number
116
+ 3","completed":false,"created_at":"2013-06-21T21:50:27.000Z","updated_at":"2013-06-21T21:50:27.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
117
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project/todos/48545212-number-3.json"},{"id":48546382,"todolist_id":8268819,"position":3,"content":"My
118
+ todo","completed":false,"created_at":"2013-06-21T22:01:32.000Z","updated_at":"2013-06-21T22:01:32.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
119
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project/todos/48546382-my-todo.json"}],"completed":[]},"comments":[],"subscribers":[{"id":4666033,"name":"Paul
120
+ Springett"}]}'
121
+ http_version:
122
+ recorded_at: Fri, 21 Jun 2013 22:11:54 GMT
123
+ - request:
124
+ method: put
125
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/todolists/8268819.json
126
+ body:
127
+ encoding: UTF-8
128
+ string: ! '{"name":"Renamed todolist"}'
129
+ headers:
130
+ User-Agent:
131
+ - Faraday v0.8.7
132
+ Authorization:
133
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
134
+ Content-Type:
135
+ - application/json
136
+ response:
137
+ status:
138
+ code: 200
139
+ message:
140
+ headers:
141
+ server:
142
+ - nginx
143
+ date:
144
+ - Fri, 21 Jun 2013 22:12:35 GMT
145
+ content-type:
146
+ - application/json; charset=utf-8
147
+ transfer-encoding:
148
+ - chunked
149
+ connection:
150
+ - close
151
+ status:
152
+ - 200 OK
153
+ x-frame-options:
154
+ - SAMEORIGIN
155
+ x-xss-protection:
156
+ - 1; mode=block
157
+ x-content-type-options:
158
+ - nosniff
159
+ x-ua-compatible:
160
+ - chrome=1
161
+ x-xhr-current-location:
162
+ - /2274488/api/v1/projects/2951531/todolists/8268819.json
163
+ x-asset-paths:
164
+ - ! '{"application.js":"application-eb8afc75ba8fcbb36b8518826dd32bc5.js","application.css":"application-18059b31e3ebdcca82003cfaf2564179.css"}'
165
+ etag:
166
+ - ! '"14816494a234cd89e748f90806a4f020"'
167
+ cache-control:
168
+ - max-age=0, private, must-revalidate
169
+ x-request-id:
170
+ - 0c97216d-f91d-40cc-85be-7c04190eac64
171
+ x-runtime:
172
+ - '0.259824'
173
+ body:
174
+ encoding: US-ASCII
175
+ string: ! '{"id":8268819,"name":"Renamed todolist","description":null,"created_at":"2013-06-21T21:50:13.000Z","updated_at":"2013-06-21T22:12:35.839Z","completed":false,"position":1,"remaining_count":3,"completed_count":0,"creator":{"id":4666033,"name":"Paul
176
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"todos":{"remaining":[{"id":48545209,"todolist_id":8268819,"position":1,"content":"Another
177
+ todo","completed":false,"created_at":"2013-06-21T21:50:24.000Z","updated_at":"2013-06-21T21:50:24.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
178
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project/todos/48545209-another-todo.json"},{"id":48545212,"todolist_id":8268819,"position":2,"content":"Number
179
+ 3","completed":false,"created_at":"2013-06-21T21:50:27.000Z","updated_at":"2013-06-21T21:50:27.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
180
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project/todos/48545212-number-3.json"},{"id":48546382,"todolist_id":8268819,"position":3,"content":"My
181
+ todo","completed":false,"created_at":"2013-06-21T22:01:32.000Z","updated_at":"2013-06-21T22:01:32.000Z","comments_count":0,"due_on":null,"due_at":null,"creator":{"id":4666033,"name":"Paul
182
+ Springett","avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3"},"url":"https://basecamp.com/2274488/api/v1/projects/2951531-new-project/todos/48546382-my-todo.json"}],"completed":[]},"comments":[],"subscribers":[{"id":4666033,"name":"Paul
183
+ Springett"}]}'
184
+ http_version:
185
+ recorded_at: Fri, 21 Jun 2013 22:12:36 GMT
186
+ recorded_with: VCR 2.5.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-28 00:00:00.000000000 Z
12
+ date: 2013-06-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rapidash
16
- requirement: &70292815485980 !ruby/object:Gem::Requirement
16
+ requirement: &70106379265520 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70292815485980
24
+ version_requirements: *70106379265520
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70292815485340 !ruby/object:Gem::Requirement
27
+ requirement: &70106379280400 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70292815485340
35
+ version_requirements: *70106379280400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70292815482280 !ruby/object:Gem::Requirement
38
+ requirement: &70106379278020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70292815482280
46
+ version_requirements: *70106379278020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &70292815481620 !ruby/object:Gem::Requirement
49
+ requirement: &70106379276340 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70292815481620
57
+ version_requirements: *70106379276340
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: vcr
60
- requirement: &70292815506720 !ruby/object:Gem::Requirement
60
+ requirement: &70106379274940 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70292815506720
68
+ version_requirements: *70106379274940
69
69
  description: Fully-fledged Ruby API wrapper for Basecamp Next
70
70
  email:
71
71
  - paul@springett.me
@@ -75,13 +75,40 @@ extra_rdoc_files: []
75
75
  files:
76
76
  - .gitignore
77
77
  - .rspec
78
+ - .travis.yml
78
79
  - Gemfile
79
80
  - LICENSE
80
81
  - README.md
81
82
  - Rakefile
82
83
  - bcx.gemspec
84
+ - docs/bcx.html
85
+ - docs/configuration.html
86
+ - docs/docco.css
87
+ - docs/http.html
88
+ - docs/oauth.html
89
+ - docs/person.html
90
+ - docs/project.html
91
+ - docs/public/fonts/aller-bold.eot
92
+ - docs/public/fonts/aller-bold.ttf
93
+ - docs/public/fonts/aller-bold.woff
94
+ - docs/public/fonts/aller-light.eot
95
+ - docs/public/fonts/aller-light.ttf
96
+ - docs/public/fonts/aller-light.woff
97
+ - docs/public/fonts/fleurons.eot
98
+ - docs/public/fonts/fleurons.ttf
99
+ - docs/public/fonts/fleurons.woff
100
+ - docs/public/fonts/novecento-bold.eot
101
+ - docs/public/fonts/novecento-bold.ttf
102
+ - docs/public/fonts/novecento-bold.woff
103
+ - docs/public/images/gray.png
104
+ - docs/public/stylesheets/normalize.css
105
+ - docs/response_error.html
106
+ - docs/todo.html
107
+ - docs/todolist.html
108
+ - docs/version.html
83
109
  - lib/bcx.rb
84
- - lib/bcx/client.rb
110
+ - lib/bcx/client/http.rb
111
+ - lib/bcx/client/oauth.rb
85
112
  - lib/bcx/configuration.rb
86
113
  - lib/bcx/resources/person.rb
87
114
  - lib/bcx/resources/project.rb
@@ -90,8 +117,19 @@ files:
90
117
  - lib/bcx/response_error.rb
91
118
  - lib/bcx/version.rb
92
119
  - spec/bcx/client_spec.rb
120
+ - spec/bcx/person_spec.rb
93
121
  - spec/bcx/project_spec.rb
122
+ - spec/bcx/todo_spec.rb
94
123
  - spec/bcx/todolist_spec.rb
124
+ - spec/cassettes/Bcx_Client/error_handling/should_raise_exception.yml
125
+ - spec/cassettes/Bcx_Resources_Person/DELETE_/people/4904728_json/should_delete_a_todolist.yml
126
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_have_the_correct_id.yml
127
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_return_a_hash.yml
128
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_have_assigned_todos.yml
129
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_have_the_correct_id.yml
130
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_return_a_hash.yml
131
+ - spec/cassettes/Bcx_Resources_Person/GET_/people_json/first_person_should_have_the_correct_id.yml
132
+ - spec/cassettes/Bcx_Resources_Person/GET_/people_json/should_be_an_array.yml
95
133
  - spec/cassettes/Bcx_Resources_Project/DELETE_/projects/2937644/should_delete_a_project.yml
96
134
  - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_have_the_correct_id.yml
97
135
  - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_return_a_hash.yml
@@ -101,6 +139,14 @@ files:
101
139
  - spec/cassettes/Bcx_Resources_Project/GET_/projects/should_be_an_array.yml
102
140
  - spec/cassettes/Bcx_Resources_Project/POST_/projects/should_create_a_new_project.yml
103
141
  - spec/cassettes/Bcx_Resources_Project/PUT_/projects/2937644/should_update_an_existing_project.yml
142
+ - spec/cassettes/Bcx_Resources_Todo/DELETE_/projects/2951531/todos/48545200_json/should_delete_the_given_todo.yml
143
+ - spec/cassettes/Bcx_Resources_Todo/GET_/projects/2951531/todos/48545200_json/should_have_the_correct_id.yml
144
+ - spec/cassettes/Bcx_Resources_Todo/GET_/projects/2951531/todos/48545200_json/should_return_a_hash.yml
145
+ - spec/cassettes/Bcx_Resources_Todo/POST_/projects/2951531/todolists/2951531/todos_json/should_create_a_new_todo.yml
146
+ - spec/cassettes/Bcx_Resources_Todo/POST_/projects/2951531/todolists/8268819/todos_json/should_create_a_new_todo.yml
147
+ - spec/cassettes/Bcx_Resources_Todo/PUT_/projects/2951531/todos/48545200_json/should_update_an_existing_todo.yml
148
+ - spec/cassettes/Bcx_Resources_Todolist/DELETE_/projects/2956584/todolists/8268819_json/should_create_a_new_todolist.yml
149
+ - spec/cassettes/Bcx_Resources_Todolist/DELETE_/projects/2956584/todolists/8268819_json/should_delete_a_todolist.yml
104
150
  - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
105
151
  - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/should_be_an_array.yml
106
152
  - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_have_the_correct_id.yml
@@ -113,6 +159,8 @@ files:
113
159
  - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/should_be_an_array.yml
114
160
  - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/first_todolist_should_have_the_correct_id.yml
115
161
  - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/should_be_an_array.yml
162
+ - spec/cassettes/Bcx_Resources_Todolist/POST_/projects/123/todolists_json/should_create_a_new_todolist.yml
163
+ - spec/cassettes/Bcx_Resources_Todolist/PUT_/projects/2956584/todolists/8268819_json/should_create_a_new_todolist.yml
116
164
  - spec/cassettes/Bcx_Resources_Todolist/projects/123/todolists_json/should_create_a_new_todolist.yml
117
165
  - spec/spec_helper.rb
118
166
  homepage: ''
@@ -127,12 +175,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
175
  - - ! '>='
128
176
  - !ruby/object:Gem::Version
129
177
  version: '0'
178
+ segments:
179
+ - 0
180
+ hash: 3015624235311815294
130
181
  required_rubygems_version: !ruby/object:Gem::Requirement
131
182
  none: false
132
183
  requirements:
133
184
  - - ! '>='
134
185
  - !ruby/object:Gem::Version
135
186
  version: '0'
187
+ segments:
188
+ - 0
189
+ hash: 3015624235311815294
136
190
  requirements: []
137
191
  rubyforge_project:
138
192
  rubygems_version: 1.8.16
@@ -142,8 +196,19 @@ summary: Fully-fledged Ruby API wrapper for Basecamp Next. Uses the Rapidash gem
142
196
  the hood.
143
197
  test_files:
144
198
  - spec/bcx/client_spec.rb
199
+ - spec/bcx/person_spec.rb
145
200
  - spec/bcx/project_spec.rb
201
+ - spec/bcx/todo_spec.rb
146
202
  - spec/bcx/todolist_spec.rb
203
+ - spec/cassettes/Bcx_Client/error_handling/should_raise_exception.yml
204
+ - spec/cassettes/Bcx_Resources_Person/DELETE_/people/4904728_json/should_delete_a_todolist.yml
205
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_have_the_correct_id.yml
206
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_return_a_hash.yml
207
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_have_assigned_todos.yml
208
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_have_the_correct_id.yml
209
+ - spec/cassettes/Bcx_Resources_Person/GET_/people/me_json/should_return_a_hash.yml
210
+ - spec/cassettes/Bcx_Resources_Person/GET_/people_json/first_person_should_have_the_correct_id.yml
211
+ - spec/cassettes/Bcx_Resources_Person/GET_/people_json/should_be_an_array.yml
147
212
  - spec/cassettes/Bcx_Resources_Project/DELETE_/projects/2937644/should_delete_a_project.yml
148
213
  - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_have_the_correct_id.yml
149
214
  - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_return_a_hash.yml
@@ -153,6 +218,14 @@ test_files:
153
218
  - spec/cassettes/Bcx_Resources_Project/GET_/projects/should_be_an_array.yml
154
219
  - spec/cassettes/Bcx_Resources_Project/POST_/projects/should_create_a_new_project.yml
155
220
  - spec/cassettes/Bcx_Resources_Project/PUT_/projects/2937644/should_update_an_existing_project.yml
221
+ - spec/cassettes/Bcx_Resources_Todo/DELETE_/projects/2951531/todos/48545200_json/should_delete_the_given_todo.yml
222
+ - spec/cassettes/Bcx_Resources_Todo/GET_/projects/2951531/todos/48545200_json/should_have_the_correct_id.yml
223
+ - spec/cassettes/Bcx_Resources_Todo/GET_/projects/2951531/todos/48545200_json/should_return_a_hash.yml
224
+ - spec/cassettes/Bcx_Resources_Todo/POST_/projects/2951531/todolists/2951531/todos_json/should_create_a_new_todo.yml
225
+ - spec/cassettes/Bcx_Resources_Todo/POST_/projects/2951531/todolists/8268819/todos_json/should_create_a_new_todo.yml
226
+ - spec/cassettes/Bcx_Resources_Todo/PUT_/projects/2951531/todos/48545200_json/should_update_an_existing_todo.yml
227
+ - spec/cassettes/Bcx_Resources_Todolist/DELETE_/projects/2956584/todolists/8268819_json/should_create_a_new_todolist.yml
228
+ - spec/cassettes/Bcx_Resources_Todolist/DELETE_/projects/2956584/todolists/8268819_json/should_delete_a_todolist.yml
156
229
  - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
157
230
  - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/should_be_an_array.yml
158
231
  - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_have_the_correct_id.yml
@@ -165,6 +238,7 @@ test_files:
165
238
  - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/should_be_an_array.yml
166
239
  - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/first_todolist_should_have_the_correct_id.yml
167
240
  - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/should_be_an_array.yml
241
+ - spec/cassettes/Bcx_Resources_Todolist/POST_/projects/123/todolists_json/should_create_a_new_todolist.yml
242
+ - spec/cassettes/Bcx_Resources_Todolist/PUT_/projects/2956584/todolists/8268819_json/should_create_a_new_todolist.yml
168
243
  - spec/cassettes/Bcx_Resources_Todolist/projects/123/todolists_json/should_create_a_new_todolist.yml
169
244
  - spec/spec_helper.rb
170
- has_rdoc:
data/lib/bcx/client.rb DELETED
@@ -1,24 +0,0 @@
1
- module Bcx
2
- class Client < Rapidash::Client
3
- extension :json
4
-
5
- raise_errors
6
-
7
- resource :projects, class_name: 'Bcx::Resources::Project'
8
- resource :todolists, class_name: 'Bcx::Resources::Todolist'
9
-
10
- def initialize(auth_method, options = {})
11
- @account = Bcx.configuration.account
12
- @api_version = Bcx.configuration.api_version
13
-
14
- self.class.site("https://basecamp.com/#{@account}/api/#{@api_version}/")
15
- self.class.method(auth_method)
16
-
17
- options[:uid] ||= options[:client_id]
18
- options[:secret] ||= options[:client_secret]
19
-
20
- super(options)
21
- end
22
-
23
- end
24
- end