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,62 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2956584/todolists.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"name":"My todolist","description":"This is a todolist"}'
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: 201
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Tue, 28 May 2013 21:16:16 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 201 Created
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.json
43
+ x-asset-paths:
44
+ - ! '{"application.js":"application-65ce9eab0fe6859d64efe0f889d5e231.js","application.css":"application-417c4f9074157e12c1dfb6ede37ce3e3.css"}'
45
+ location:
46
+ - https://basecamp.com/2274488/api/v1/projects/2956584-new-project/todolists/7702303-my-todolist.json
47
+ etag:
48
+ - ! '"12c774432725cf346424fd9c6b12c807"'
49
+ cache-control:
50
+ - max-age=0, private, must-revalidate
51
+ x-request-id:
52
+ - f077634e-6d73-48f9-9e89-0b4b6e49acff
53
+ x-runtime:
54
+ - '0.584372'
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ! '{"id":7702303,"name":"My todolist","description":"This is a todolist","created_at":"2013-05-28T21:16:16.460Z","updated_at":"2013-05-28T21:16:16.460Z","completed":false,"position":1,"remaining_count":0,"completed_count":0,"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":[]},"comments":[],"subscribers":[{"id":4666033,"name":"Paul
59
+ Springett"}]}'
60
+ http_version:
61
+ recorded_at: Tue, 28 May 2013 21:16:16 GMT
62
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,21 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
4
+ require 'vcr'
5
+ VCR.configure do |c|
6
+ c.cassette_library_dir = 'spec/cassettes'
7
+ c.hook_into :faraday
8
+ c.default_cassette_options = { record: :new_episodes }
9
+ c.configure_rspec_metadata!
10
+ end
11
+
12
+ require 'bcx'
13
+
14
+ RSpec.configure do |config|
15
+ config.before(:each) do
16
+ # Set to test account
17
+ Bcx.configure { |config| config.account = '2274488' }
18
+ end
19
+
20
+ config.treat_symbols_as_metadata_keys_with_true_values = true
21
+ end
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.1
4
+ version: 0.0.2
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-19 00:00:00.000000000 Z
12
+ date: 2013-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rapidash
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70292815485980 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,12 +21,51 @@ dependencies:
21
21
  version: 0.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
24
+ version_requirements: *70292815485980
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &70292815485340 !ruby/object:Gem::Requirement
25
28
  none: false
26
29
  requirements:
27
- - - ~>
30
+ - - ! '>='
28
31
  - !ruby/object:Gem::Version
29
- version: 0.2.0
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70292815485340
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &70292815482280 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70292815482280
47
+ - !ruby/object:Gem::Dependency
48
+ name: simplecov
49
+ requirement: &70292815481620 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70292815481620
58
+ - !ruby/object:Gem::Dependency
59
+ name: vcr
60
+ requirement: &70292815506720 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70292815506720
30
69
  description: Fully-fledged Ruby API wrapper for Basecamp Next
31
70
  email:
32
71
  - paul@springett.me
@@ -35,6 +74,7 @@ extensions: []
35
74
  extra_rdoc_files: []
36
75
  files:
37
76
  - .gitignore
77
+ - .rspec
38
78
  - Gemfile
39
79
  - LICENSE
40
80
  - README.md
@@ -43,9 +83,38 @@ files:
43
83
  - lib/bcx.rb
44
84
  - lib/bcx/client.rb
45
85
  - lib/bcx/configuration.rb
86
+ - lib/bcx/resources/person.rb
46
87
  - lib/bcx/resources/project.rb
88
+ - lib/bcx/resources/todo.rb
47
89
  - lib/bcx/resources/todolist.rb
90
+ - lib/bcx/response_error.rb
48
91
  - lib/bcx/version.rb
92
+ - spec/bcx/client_spec.rb
93
+ - spec/bcx/project_spec.rb
94
+ - spec/bcx/todolist_spec.rb
95
+ - spec/cassettes/Bcx_Resources_Project/DELETE_/projects/2937644/should_delete_a_project.yml
96
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_have_the_correct_id.yml
97
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_return_a_hash.yml
98
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/archived/should_be_an_array.yml
99
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/archived/should_be_empty.yml
100
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/first_project_should_have_the_correct_id.yml
101
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/should_be_an_array.yml
102
+ - spec/cassettes/Bcx_Resources_Project/POST_/projects/should_create_a_new_project.yml
103
+ - spec/cassettes/Bcx_Resources_Project/PUT_/projects/2937644/should_update_an_existing_project.yml
104
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
105
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/should_be_an_array.yml
106
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_have_the_correct_id.yml
107
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_return_a_hash.yml
108
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2937644/todolists_json/first_todolist_should_have_the_correct_id.yml
109
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2937644/todolists_json/should_be_an_array.yml
110
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2956584/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
111
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2956584/todolists/completed_json/should_be_an_array.yml
112
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
113
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/should_be_an_array.yml
114
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/first_todolist_should_have_the_correct_id.yml
115
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/should_be_an_array.yml
116
+ - spec/cassettes/Bcx_Resources_Todolist/projects/123/todolists_json/should_create_a_new_todolist.yml
117
+ - spec/spec_helper.rb
49
118
  homepage: ''
50
119
  licenses: []
51
120
  post_install_message:
@@ -66,10 +135,36 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
135
  version: '0'
67
136
  requirements: []
68
137
  rubyforge_project:
69
- rubygems_version: 1.8.24
138
+ rubygems_version: 1.8.16
70
139
  signing_key:
71
140
  specification_version: 3
72
141
  summary: Fully-fledged Ruby API wrapper for Basecamp Next. Uses the Rapidash gem under
73
142
  the hood.
74
- test_files: []
143
+ test_files:
144
+ - spec/bcx/client_spec.rb
145
+ - spec/bcx/project_spec.rb
146
+ - spec/bcx/todolist_spec.rb
147
+ - spec/cassettes/Bcx_Resources_Project/DELETE_/projects/2937644/should_delete_a_project.yml
148
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_have_the_correct_id.yml
149
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/2937644/should_return_a_hash.yml
150
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/archived/should_be_an_array.yml
151
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/archived/should_be_empty.yml
152
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/first_project_should_have_the_correct_id.yml
153
+ - spec/cassettes/Bcx_Resources_Project/GET_/projects/should_be_an_array.yml
154
+ - spec/cassettes/Bcx_Resources_Project/POST_/projects/should_create_a_new_project.yml
155
+ - spec/cassettes/Bcx_Resources_Project/PUT_/projects/2937644/should_update_an_existing_project.yml
156
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
157
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/1/todolists/completed_json/should_be_an_array.yml
158
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_have_the_correct_id.yml
159
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/123/todolists/456_json/should_return_a_hash.yml
160
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2937644/todolists_json/first_todolist_should_have_the_correct_id.yml
161
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2937644/todolists_json/should_be_an_array.yml
162
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2956584/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
163
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/projects/2956584/todolists/completed_json/should_be_an_array.yml
164
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/first_todolist_should_have_the_correct_id.yml
165
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists/completed_json/should_be_an_array.yml
166
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/first_todolist_should_have_the_correct_id.yml
167
+ - spec/cassettes/Bcx_Resources_Todolist/GET_/todolists_json/should_be_an_array.yml
168
+ - spec/cassettes/Bcx_Resources_Todolist/projects/123/todolists_json/should_create_a_new_todolist.yml
169
+ - spec/spec_helper.rb
75
170
  has_rdoc: