bcx 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/bcx.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Bcx::VERSION
17
17
 
18
- gem.add_runtime_dependency 'rapidash', '0.3.0.beta'
18
+ gem.add_runtime_dependency 'rapidash', '0.3.0.beta2'
19
19
 
20
20
  gem.add_development_dependency 'rake'
21
21
  gem.add_development_dependency 'rspec'
@@ -0,0 +1,103 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <title>collection.rb</title>
6
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7
+ <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
8
+ <link rel="stylesheet" media="all" href="docco.css" />
9
+ </head>
10
+ <body>
11
+ <div id="container">
12
+ <div id="background"></div>
13
+
14
+ <ul id="jump_to">
15
+ <li>
16
+ <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
17
+ <a class="small" href="javascript:void(0);">+</a>
18
+ <div id="jump_wrapper">
19
+ <div id="jump_page">
20
+
21
+
22
+ <a class="source" href="configuration.html">
23
+ configuration.rb
24
+ </a>
25
+
26
+
27
+ <a class="source" href="response_error.html">
28
+ response_error.rb
29
+ </a>
30
+
31
+
32
+ <a class="source" href="version.html">
33
+ version.rb
34
+ </a>
35
+
36
+
37
+ <a class="source" href="collection.html">
38
+ collection.rb
39
+ </a>
40
+
41
+ </div>
42
+ </li>
43
+ </ul>
44
+
45
+ <ul class="sections">
46
+
47
+ <li id="title">
48
+ <div class="annotation">
49
+ <h1>collection.rb</h1>
50
+ </div>
51
+ </li>
52
+
53
+
54
+
55
+ <li id="section-1">
56
+ <div class="annotation">
57
+
58
+ <div class="pilwrap ">
59
+ <a class="pilcrow" href="#section-1">&#182;</a>
60
+ </div>
61
+
62
+ </div>
63
+
64
+ <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">module</span> <span class="title">Rapidash</span></span>
65
+ <span class="class"><span class="keyword">module</span> <span class="title">Collection</span></span>
66
+
67
+ <span class="function"><span class="keyword">def</span> <span class="title"><span class="keyword">self</span></span>.<span class="title">included</span><span class="params">(base)</span></span>
68
+ base.extend <span class="constant">ClassMethods</span>
69
+ <span class="keyword">end</span>
70
+
71
+ <span class="class"><span class="keyword">module</span> <span class="title">ClassMethods</span></span>
72
+ <span class="function"><span class="keyword">def</span> <span class="title">collection</span><span class="params">(name, attrs = {})</span></span>
73
+ path = attrs[<span class="symbol">:path</span>] || name.to_s
74
+ path.gsub!(<span class="regexp">/^\//</span>, <span class="string">''</span>)
75
+
76
+ method = attrs[<span class="symbol">:method</span>] || <span class="symbol">:get</span>
77
+
78
+ define_method(<span class="string">"<span class="subst">#{name}</span>!"</span>) <span class="keyword">do</span>
79
+ original_url = <span class="variable">@url</span>
80
+
81
+ <span class="variable">@url</span> += <span class="string">"/<span class="subst">#{path}</span>"</span>
82
+ <span class="variable">@options</span>[<span class="symbol">:method</span>] = method
83
+ result = call!
84
+
85
+ <span class="variable">@url</span> = original_url
86
+
87
+ result
88
+ <span class="keyword">end</span>
89
+ <span class="keyword">end</span>
90
+ <span class="keyword">end</span>
91
+ <span class="keyword">end</span>
92
+ <span class="keyword">end</span>
93
+
94
+ <span class="class"><span class="keyword">class</span> <span class="title">Rapidash::Base</span></span>
95
+ <span class="keyword">include</span> <span class="constant">Rapidash::Collection</span>
96
+ <span class="keyword">end</span></pre></div></div>
97
+
98
+ </li>
99
+
100
+ </ul>
101
+ </div>
102
+ </body>
103
+ </html>
@@ -33,6 +33,11 @@
33
33
  version.rb
34
34
  </a>
35
35
 
36
+
37
+ <a class="source" href="collection.html">
38
+ collection.rb
39
+ </a>
40
+
36
41
  </div>
37
42
  </li>
38
43
  </ul>
@@ -33,6 +33,11 @@
33
33
  version.rb
34
34
  </a>
35
35
 
36
+
37
+ <a class="source" href="collection.html">
38
+ collection.rb
39
+ </a>
40
+
36
41
  </div>
37
42
  </li>
38
43
  </ul>
data/docs/version.html CHANGED
@@ -33,6 +33,11 @@
33
33
  version.rb
34
34
  </a>
35
35
 
36
+
37
+ <a class="source" href="collection.html">
38
+ collection.rb
39
+ </a>
40
+
36
41
  </div>
37
42
  </li>
38
43
  </ul>
@@ -57,7 +62,7 @@
57
62
  </div>
58
63
 
59
64
  <div class="content"><div class='highlight'><pre><span class="class"><span class="keyword">module</span> <span class="title">Bcx</span></span>
60
- <span class="constant">VERSION</span> = <span class="string">"0.1.0"</span>
65
+ <span class="constant">VERSION</span> = <span class="string">"0.1.1"</span>
61
66
  <span class="keyword">end</span></pre></div></div>
62
67
 
63
68
  </li>
data/lib/bcx.rb CHANGED
@@ -15,6 +15,7 @@ module Bcx
15
15
  autoload :Todolist, 'bcx/resources/todolist'
16
16
  autoload :Project, 'bcx/resources/project'
17
17
  autoload :Person, 'bcx/resources/person'
18
+ autoload :Access, 'bcx/resources/access'
18
19
  end
19
20
 
20
21
  module Client
@@ -0,0 +1,26 @@
1
+ module Bcx
2
+ module Resources
3
+
4
+ # Bcx::Resources::Access
5
+ # Provides access to accesses resource at per-project level
6
+ #
7
+ # Get accesses for a project
8
+ # GET /projects/1/accesses.json
9
+ #
10
+ # client.projects(1).accesses!
11
+ #
12
+ # Grant access
13
+ # POST /projects/1/accesses.json
14
+ #
15
+ # client.projects(1).accesses.create!(ids: [ 5, 6, 10])
16
+ #
17
+ # Revoke access
18
+ # DELETE /projects/1/accesses/1.json
19
+ #
20
+ # client.projects(1).accesses(1).delete!
21
+ #
22
+ class Access < Rapidash::Base
23
+
24
+ end
25
+ end
26
+ end
@@ -37,6 +37,7 @@ module Bcx
37
37
  class Project < Rapidash::Base
38
38
  resource :todolists
39
39
  resource :todos
40
+ resource :accesses
40
41
 
41
42
  collection :archived
42
43
  end
data/lib/bcx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Bcx
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bcx::Resources::Access, :vcr do
4
+ let(:client) { Bcx::Client::HTTP.new(login: 'bcx-test-user', password: 'secret') }
5
+
6
+ describe "GET /projects/2951531/accesses.json" do
7
+ let(:accesses) { client.projects(2951531).accesses! }
8
+
9
+ it "should be an array" do
10
+ expect(accesses).to be_an Array
11
+ end
12
+
13
+ it "first access should have the correct id" do
14
+ expect(accesses.first.id).to eq 4666033
15
+ end
16
+ end
17
+
18
+ describe "POST /projects/2951531/accesses.json" do
19
+ it "should grant access" do
20
+ client.projects(2951531).accesses.create!(email_addresses: ["hopper.derek@gmail.com"])
21
+ accesses = client.projects(2951531).accesses!
22
+ accesses.detect { |access| access.id == 4996562 }.should be_present
23
+ end
24
+ end
25
+
26
+ describe "DELETE /projects/2951531/accesses/4996562.json" do
27
+ it "should revoke access" do
28
+ client.projects(2951531).accesses(4996562).delete!
29
+ accesses = client.projects(2951531).accesses!
30
+ accesses.detect { |access| access.id == 4996562 }.should_not be_present
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,103 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/accesses/4996562.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Authorization:
13
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
14
+ response:
15
+ status:
16
+ code: 204
17
+ message:
18
+ headers:
19
+ server:
20
+ - nginx
21
+ date:
22
+ - Thu, 04 Jul 2013 13:53:53 GMT
23
+ connection:
24
+ - close
25
+ status:
26
+ - 204 No Content
27
+ x-frame-options:
28
+ - SAMEORIGIN
29
+ x-xss-protection:
30
+ - 1; mode=block
31
+ x-content-type-options:
32
+ - nosniff
33
+ x-ua-compatible:
34
+ - chrome=1
35
+ x-xhr-current-location:
36
+ - /2274488/api/v1/projects/2951531/accesses/4996562.json
37
+ x-asset-paths:
38
+ - ! '{"application.js":"application-9015423afd58438dfee449c2a129634f.js","application.css":"application-4e033ab8c3326d2795418cf2a702f477.css"}'
39
+ cache-control:
40
+ - no-cache
41
+ x-request-id:
42
+ - d57ac2fc-4551-4c54-b27b-9fdb51642bf1
43
+ x-runtime:
44
+ - '0.206649'
45
+ body:
46
+ encoding: US-ASCII
47
+ string: ''
48
+ http_version:
49
+ recorded_at: Thu, 04 Jul 2013 13:53:55 GMT
50
+ - request:
51
+ method: get
52
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/accesses.json
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ''
56
+ headers:
57
+ User-Agent:
58
+ - Faraday v0.8.7
59
+ Authorization:
60
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
61
+ response:
62
+ status:
63
+ code: 200
64
+ message:
65
+ headers:
66
+ server:
67
+ - nginx
68
+ date:
69
+ - Thu, 04 Jul 2013 13:53:53 GMT
70
+ content-type:
71
+ - application/json; charset=utf-8
72
+ transfer-encoding:
73
+ - chunked
74
+ connection:
75
+ - close
76
+ status:
77
+ - 200 OK
78
+ x-frame-options:
79
+ - SAMEORIGIN
80
+ x-xss-protection:
81
+ - 1; mode=block
82
+ x-content-type-options:
83
+ - nosniff
84
+ x-ua-compatible:
85
+ - chrome=1
86
+ x-xhr-current-location:
87
+ - /2274488/api/v1/projects/2951531/accesses.json
88
+ x-asset-paths:
89
+ - ! '{"application.js":"application-9015423afd58438dfee449c2a129634f.js","application.css":"application-4e033ab8c3326d2795418cf2a702f477.css"}'
90
+ last-modified:
91
+ - Thu, 04 Jul 2013 13:53:53 GMT
92
+ cache-control:
93
+ - max-age=0, private, must-revalidate
94
+ x-request-id:
95
+ - 55ef02c0-b6c0-474e-afd7-9ed3a014cc4c
96
+ x-runtime:
97
+ - '0.143751'
98
+ body:
99
+ encoding: US-ASCII
100
+ string: ! '[{"id":4666033,"name":"Paul Springett","email_address":"paul@springett.me","admin":true,"created_at":"2013-05-24T18:59:10.000Z","updated_at":"2013-07-04T13:53:53.000Z","identity_id":6967737,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4666033-paul-springett.json"},{"id":4904724,"name":"paul@simpleweb.co.uk","email_address":"paul@simpleweb.co.uk","admin":false,"created_at":"2013-06-21T22:41:31.000Z","updated_at":"2013-06-21T22:41:31.000Z","identity_id":null,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_4/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4904724-paul-simpleweb-co-uk.json"}]'
101
+ http_version:
102
+ recorded_at: Thu, 04 Jul 2013 13:53:55 GMT
103
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/accesses.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Authorization:
13
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
14
+ response:
15
+ status:
16
+ code: 200
17
+ message:
18
+ headers:
19
+ server:
20
+ - nginx
21
+ date:
22
+ - Thu, 04 Jul 2013 01:20:13 GMT
23
+ content-type:
24
+ - application/json; charset=utf-8
25
+ transfer-encoding:
26
+ - chunked
27
+ connection:
28
+ - close
29
+ status:
30
+ - 200 OK
31
+ x-frame-options:
32
+ - SAMEORIGIN
33
+ x-xss-protection:
34
+ - 1; mode=block
35
+ x-content-type-options:
36
+ - nosniff
37
+ x-ua-compatible:
38
+ - chrome=1
39
+ x-xhr-current-location:
40
+ - /2274488/api/v1/projects/2951531/accesses.json
41
+ x-asset-paths:
42
+ - ! '{"application.js":"application-9015423afd58438dfee449c2a129634f.js","application.css":"application-4e033ab8c3326d2795418cf2a702f477.css"}'
43
+ last-modified:
44
+ - Fri, 21 Jun 2013 22:41:31 GMT
45
+ cache-control:
46
+ - max-age=0, private, must-revalidate
47
+ x-request-id:
48
+ - 0bed8cbd-c296-439c-8e5c-2227c1286672
49
+ x-runtime:
50
+ - '0.141652'
51
+ body:
52
+ encoding: US-ASCII
53
+ string: ! '[{"id":4666033,"name":"Paul Springett","email_address":"paul@springett.me","admin":true,"created_at":"2013-05-24T18:59:10.000Z","updated_at":"2013-06-21T22:41:31.000Z","identity_id":6967737,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4666033-paul-springett.json"},{"id":4904724,"name":"paul@simpleweb.co.uk","email_address":"paul@simpleweb.co.uk","admin":false,"created_at":"2013-06-21T22:41:31.000Z","updated_at":"2013-06-21T22:41:31.000Z","identity_id":null,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_4/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4904724-paul-simpleweb-co-uk.json"}]'
54
+ http_version:
55
+ recorded_at: Thu, 04 Jul 2013 01:20:15 GMT
56
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/accesses.json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Authorization:
13
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
14
+ response:
15
+ status:
16
+ code: 200
17
+ message:
18
+ headers:
19
+ server:
20
+ - nginx
21
+ date:
22
+ - Thu, 04 Jul 2013 01:28:11 GMT
23
+ content-type:
24
+ - application/json; charset=utf-8
25
+ transfer-encoding:
26
+ - chunked
27
+ connection:
28
+ - close
29
+ status:
30
+ - 200 OK
31
+ x-frame-options:
32
+ - SAMEORIGIN
33
+ x-xss-protection:
34
+ - 1; mode=block
35
+ x-content-type-options:
36
+ - nosniff
37
+ x-ua-compatible:
38
+ - chrome=1
39
+ x-xhr-current-location:
40
+ - /2274488/api/v1/projects/2951531/accesses.json
41
+ x-asset-paths:
42
+ - ! '{"application.js":"application-9015423afd58438dfee449c2a129634f.js","application.css":"application-4e033ab8c3326d2795418cf2a702f477.css"}'
43
+ last-modified:
44
+ - Thu, 04 Jul 2013 01:24:15 GMT
45
+ cache-control:
46
+ - max-age=0, private, must-revalidate
47
+ x-request-id:
48
+ - baff4457-c0d0-45b3-a6a8-99453ef63dcc
49
+ x-runtime:
50
+ - '0.139995'
51
+ body:
52
+ encoding: US-ASCII
53
+ string: ! '[{"id":4666033,"name":"Paul Springett","email_address":"paul@springett.me","admin":true,"created_at":"2013-05-24T18:59:10.000Z","updated_at":"2013-07-04T01:24:15.000Z","identity_id":6967737,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4666033-paul-springett.json"},{"id":4904724,"name":"paul@simpleweb.co.uk","email_address":"paul@simpleweb.co.uk","admin":false,"created_at":"2013-06-21T22:41:31.000Z","updated_at":"2013-06-21T22:41:31.000Z","identity_id":null,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_4/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4904724-paul-simpleweb-co-uk.json"},{"id":4996562,"name":"hopper.derek@gmail.com","email_address":"hopper.derek@gmail.com","admin":false,"created_at":"2013-07-04T01:24:15.000Z","updated_at":"2013-07-04T01:24:15.000Z","identity_id":null,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_2/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4996562-hopper-derek-gmail-c.json"}]'
54
+ http_version:
55
+ recorded_at: Thu, 04 Jul 2013 01:28:13 GMT
56
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,105 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/accesses.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"email_addresses":["hopper.derek@gmail.com"]}'
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: 204
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx
23
+ date:
24
+ - Thu, 04 Jul 2013 13:53:52 GMT
25
+ connection:
26
+ - close
27
+ status:
28
+ - 204 No Content
29
+ x-frame-options:
30
+ - SAMEORIGIN
31
+ x-xss-protection:
32
+ - 1; mode=block
33
+ x-content-type-options:
34
+ - nosniff
35
+ x-ua-compatible:
36
+ - chrome=1
37
+ x-xhr-current-location:
38
+ - /2274488/api/v1/projects/2951531/accesses.json
39
+ x-asset-paths:
40
+ - ! '{"application.js":"application-9015423afd58438dfee449c2a129634f.js","application.css":"application-4e033ab8c3326d2795418cf2a702f477.css"}'
41
+ cache-control:
42
+ - no-cache
43
+ x-request-id:
44
+ - 0ff6fdd1-47bd-495e-bfd4-4d1baf61adcd
45
+ x-runtime:
46
+ - '0.383346'
47
+ body:
48
+ encoding: US-ASCII
49
+ string: ''
50
+ http_version:
51
+ recorded_at: Thu, 04 Jul 2013 13:53:54 GMT
52
+ - request:
53
+ method: get
54
+ uri: https://basecamp.com/2274488/api/v1/projects/2951531/accesses.json
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ''
58
+ headers:
59
+ User-Agent:
60
+ - Faraday v0.8.7
61
+ Authorization:
62
+ - Basic YmN4LXRlc3QtdXNlcjpzZWNyZXQ=
63
+ response:
64
+ status:
65
+ code: 200
66
+ message:
67
+ headers:
68
+ server:
69
+ - nginx
70
+ date:
71
+ - Thu, 04 Jul 2013 13:53:53 GMT
72
+ content-type:
73
+ - application/json; charset=utf-8
74
+ transfer-encoding:
75
+ - chunked
76
+ connection:
77
+ - close
78
+ status:
79
+ - 200 OK
80
+ x-frame-options:
81
+ - SAMEORIGIN
82
+ x-xss-protection:
83
+ - 1; mode=block
84
+ x-content-type-options:
85
+ - nosniff
86
+ x-ua-compatible:
87
+ - chrome=1
88
+ x-xhr-current-location:
89
+ - /2274488/api/v1/projects/2951531/accesses.json
90
+ x-asset-paths:
91
+ - ! '{"application.js":"application-9015423afd58438dfee449c2a129634f.js","application.css":"application-4e033ab8c3326d2795418cf2a702f477.css"}'
92
+ last-modified:
93
+ - Thu, 04 Jul 2013 13:53:52 GMT
94
+ cache-control:
95
+ - max-age=0, private, must-revalidate
96
+ x-request-id:
97
+ - 2b73f50b-37a4-4287-acfa-c012b1f38cc2
98
+ x-runtime:
99
+ - '0.149517'
100
+ body:
101
+ encoding: US-ASCII
102
+ string: ! '[{"id":4666033,"name":"Paul Springett","email_address":"paul@springett.me","admin":true,"created_at":"2013-05-24T18:59:10.000Z","updated_at":"2013-07-04T13:53:52.000Z","identity_id":6967737,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_3/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4666033-paul-springett.json"},{"id":4904724,"name":"paul@simpleweb.co.uk","email_address":"paul@simpleweb.co.uk","admin":false,"created_at":"2013-06-21T22:41:31.000Z","updated_at":"2013-06-21T22:41:31.000Z","identity_id":null,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_4/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4904724-paul-simpleweb-co-uk.json"},{"id":4996562,"name":"hopper.derek@gmail.com","email_address":"hopper.derek@gmail.com","admin":false,"created_at":"2013-07-04T01:24:15.000Z","updated_at":"2013-07-04T13:53:52.000Z","identity_id":null,"avatar_url":"http://dge9rmgqjs8m1.cloudfront.net/global/default_avatar_v1_2/avatar.gif?r=3","url":"https://basecamp.com/2274488/api/v1/people/4996562-hopper-derek-gmail-c.json"}]'
103
+ http_version:
104
+ recorded_at: Thu, 04 Jul 2013 13:53:54 GMT
105
+ 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.1.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-03 00:00:00.000000000 Z
12
+ date: 2013-07-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rapidash
16
- requirement: &70300257229040 !ruby/object:Gem::Requirement
16
+ requirement: &70130609298520 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
20
20
  - !ruby/object:Gem::Version
21
- version: 0.3.0.beta
21
+ version: 0.3.0.beta2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70300257229040
24
+ version_requirements: *70130609298520
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70300257228480 !ruby/object:Gem::Requirement
27
+ requirement: &70130609297480 !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: *70300257228480
35
+ version_requirements: *70130609297480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70300257227940 !ruby/object:Gem::Requirement
38
+ requirement: &70130609296660 !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: *70300257227940
46
+ version_requirements: *70130609296660
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &70300257227420 !ruby/object:Gem::Requirement
49
+ requirement: &70130609312460 !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: *70300257227420
57
+ version_requirements: *70130609312460
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: vcr
60
- requirement: &70300257226900 !ruby/object:Gem::Requirement
60
+ requirement: &70130609311960 !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: *70300257226900
68
+ version_requirements: *70130609311960
69
69
  description: Fully-fledged Ruby API wrapper for Basecamp Next
70
70
  email:
71
71
  - paul@springett.me
@@ -81,6 +81,7 @@ files:
81
81
  - README.md
82
82
  - Rakefile
83
83
  - bcx.gemspec
84
+ - docs/collection.html
84
85
  - docs/configuration.html
85
86
  - docs/docco.css
86
87
  - docs/public/fonts/aller-bold.eot
@@ -99,6 +100,7 @@ files:
99
100
  - lib/bcx/client/http.rb
100
101
  - lib/bcx/client/oauth.rb
101
102
  - lib/bcx/configuration.rb
103
+ - lib/bcx/resources/access.rb
102
104
  - lib/bcx/resources/person.rb
103
105
  - lib/bcx/resources/project.rb
104
106
  - lib/bcx/resources/todo.rb
@@ -107,12 +109,17 @@ files:
107
109
  - lib/bcx/version.rb
108
110
  - lib/rapidash/collection.rb
109
111
  - lib/tasks/docs.rake
112
+ - spec/bcx/access_spec.rb
110
113
  - spec/bcx/client_spec.rb
111
114
  - spec/bcx/person_spec.rb
112
115
  - spec/bcx/project_spec.rb
113
116
  - spec/bcx/todo_spec.rb
114
117
  - spec/bcx/todolist_spec.rb
115
118
  - spec/cassettes/Bcx_Client/error_handling/should_raise_exception.yml
119
+ - spec/cassettes/Bcx_Resources_Access/DELETE_/projects/2951531/accesses/4996562_json/should_revoke_access.yml
120
+ - spec/cassettes/Bcx_Resources_Access/GET_/projects/2951531/accesses_json/first_access_should_have_the_correct_id.yml
121
+ - spec/cassettes/Bcx_Resources_Access/GET_/projects/2951531/accesses_json/should_be_an_array.yml
122
+ - spec/cassettes/Bcx_Resources_Access/POST_/projects/2951531/accesses_json/should_grant_access.yml
116
123
  - spec/cassettes/Bcx_Resources_Person/DELETE_/people/4904728_json/should_delete_a_todolist.yml
117
124
  - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_have_the_correct_id.yml
118
125
  - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_return_a_hash.yml
@@ -168,7 +175,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
175
  version: '0'
169
176
  segments:
170
177
  - 0
171
- hash: -811180034632004614
178
+ hash: -1568446484117578099
172
179
  required_rubygems_version: !ruby/object:Gem::Requirement
173
180
  none: false
174
181
  requirements:
@@ -177,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
184
  version: '0'
178
185
  segments:
179
186
  - 0
180
- hash: -811180034632004614
187
+ hash: -1568446484117578099
181
188
  requirements: []
182
189
  rubyforge_project:
183
190
  rubygems_version: 1.8.16
@@ -186,12 +193,17 @@ specification_version: 3
186
193
  summary: Fully-fledged Ruby API wrapper for Basecamp Next. Uses the Rapidash gem under
187
194
  the hood.
188
195
  test_files:
196
+ - spec/bcx/access_spec.rb
189
197
  - spec/bcx/client_spec.rb
190
198
  - spec/bcx/person_spec.rb
191
199
  - spec/bcx/project_spec.rb
192
200
  - spec/bcx/todo_spec.rb
193
201
  - spec/bcx/todolist_spec.rb
194
202
  - spec/cassettes/Bcx_Client/error_handling/should_raise_exception.yml
203
+ - spec/cassettes/Bcx_Resources_Access/DELETE_/projects/2951531/accesses/4996562_json/should_revoke_access.yml
204
+ - spec/cassettes/Bcx_Resources_Access/GET_/projects/2951531/accesses_json/first_access_should_have_the_correct_id.yml
205
+ - spec/cassettes/Bcx_Resources_Access/GET_/projects/2951531/accesses_json/should_be_an_array.yml
206
+ - spec/cassettes/Bcx_Resources_Access/POST_/projects/2951531/accesses_json/should_grant_access.yml
195
207
  - spec/cassettes/Bcx_Resources_Person/DELETE_/people/4904728_json/should_delete_a_todolist.yml
196
208
  - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_have_the_correct_id.yml
197
209
  - spec/cassettes/Bcx_Resources_Person/GET_/people/4666033_json/should_return_a_hash.yml