lockitron 0.0.3 → 1.0.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.
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.lockitron.com/v1/locks/a397ef51-7b33-46dd-9a96-53eb1a7ea07f/lock
6
+ body:
7
+ encoding: US-ASCII
8
+ string: access_token=<OAUTH_TOKEN>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sun, 23 Jun 2013 22:06:12 GMT
25
+ Server:
26
+ - Apache
27
+ X-Ua-Compatible:
28
+ - IE=Edge,chrome=1
29
+ Etag:
30
+ - '"4835698658def1e57a3c33f917c6aa95"'
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ X-Request-Id:
34
+ - 8eeae9a228ebdcc428e46a9e111b3052
35
+ X-Runtime:
36
+ - '0.321305'
37
+ X-Rack-Cache:
38
+ - invalidate, pass
39
+ Status:
40
+ - '200'
41
+ Strict-Transport-Security:
42
+ - max-age=15768000
43
+ Content-Length:
44
+ - '545'
45
+ Content-Type:
46
+ - application/json; charset=utf-8
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"activity":{"id":"dcf06438-e36f-4765-834c-d35d882ffd11","lock_name":"Gem
50
+ Test","lock_id":"a397ef51-7b33-46dd-9a96-53eb1a7ea07f","key_id":"cee75f80-c36d-41fc-9bb9-f250fafe2cbc","outcome":false,"human_outcome":"notice","type":4,"human_type":"lock-updated-locked","performed_at":1372025173.13896,"user":{"id":"6c121f58-0cc9-11e2-984d-4040401f6100","email":"kurtisnelson@gmail.com","phone":"+14075120689","human_phone":"(407)
51
+ 512-0689","first_name":"Kurt","last_name":"Nelson","full_name":"Kurt Nelson","best_name":"Kurt
52
+ Nelson","activated":true}}}'
53
+ http_version:
54
+ recorded_at: Sun, 23 Jun 2013 22:07:21 GMT
55
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.lockitron.com/v1/oauth/token
6
+ body:
7
+ encoding: UTF-8
8
+ string: grant_type=authorization_code&code=34c39703ee0215478642f01bfbdf0a824b872aa176e7310312e393a8c0639965&client_id=f0605493712611e3fd2e53b96b0b54836b11d1b05985cc1f908e7a149a7bf5c4&client_secret=<CLIENT_SECRET>&redirect_uri=http%3A%2F%2Flockitron.com
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sun, 23 Jun 2013 21:13:21 GMT
25
+ Server:
26
+ - Apache
27
+ Pragma:
28
+ - no-cache
29
+ Cache-Control:
30
+ - no-store
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"d4cfa257668174eb65b1e1d52ca1ec98"'
35
+ X-Request-Id:
36
+ - b972cf3e216ae12e8c470acdb45a5fa9
37
+ X-Runtime:
38
+ - '0.071684'
39
+ X-Rack-Cache:
40
+ - invalidate, pass
41
+ Status:
42
+ - '200'
43
+ Strict-Transport-Security:
44
+ - max-age=15768000
45
+ Content-Length:
46
+ - '126'
47
+ Content-Type:
48
+ - application/json; charset=utf-8
49
+ body:
50
+ encoding: UTF-8
51
+ string: '{"access_token":"5e98e65391bcc32ebd89d781a1f97219b6e8c789331c574dbc1c5a43bafa7a6f","token_type":"bearer","expires_in":7776000}'
52
+ http_version:
53
+ recorded_at: Sun, 23 Jun 2013 21:14:41 GMT
54
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.lockitron.com/v1/locks/a397ef51-7b33-46dd-9a96-53eb1a7ea07f/unlock
6
+ body:
7
+ encoding: US-ASCII
8
+ string: access_token=<OAUTH_TOKEN>
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Sun, 23 Jun 2013 22:06:12 GMT
25
+ Server:
26
+ - Apache
27
+ X-Ua-Compatible:
28
+ - IE=Edge,chrome=1
29
+ Etag:
30
+ - '"5b658e78866d68be74b91664f528aa32"'
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ X-Request-Id:
34
+ - 2a8a7beab9950f53c5102d1ee79e151c
35
+ X-Runtime:
36
+ - '0.349355'
37
+ X-Rack-Cache:
38
+ - invalidate, pass
39
+ Status:
40
+ - '200'
41
+ Strict-Transport-Security:
42
+ - max-age=15768000
43
+ Content-Length:
44
+ - '547'
45
+ Content-Type:
46
+ - application/json; charset=utf-8
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"activity":{"id":"75f3b8f5-b594-4326-ab6c-34ccddc5346d","lock_name":"Gem
50
+ Test","lock_id":"a397ef51-7b33-46dd-9a96-53eb1a7ea07f","key_id":"cee75f80-c36d-41fc-9bb9-f250fafe2cbc","outcome":false,"human_outcome":"notice","type":4,"human_type":"lock-updated-unlocked","performed_at":1372025172.30165,"user":{"id":"6c121f58-0cc9-11e2-984d-4040401f6100","email":"kurtisnelson@gmail.com","phone":"+14075120689","human_phone":"(407)
51
+ 512-0689","first_name":"Kurt","last_name":"Nelson","full_name":"Kurt Nelson","best_name":"Kurt
52
+ Nelson","activated":true}}}'
53
+ http_version:
54
+ recorded_at: Sun, 23 Jun 2013 22:07:20 GMT
55
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.lockitron.com/v1/locks?access_token=<OAUTH_TOKEN>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.7
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - '*/*'
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 23 Jun 2013 21:33:19 GMT
23
+ Server:
24
+ - Apache
25
+ X-Ua-Compatible:
26
+ - IE=Edge,chrome=1
27
+ Etag:
28
+ - '"fc85b665bd3fef203cf530086be83441"'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ X-Request-Id:
32
+ - 04720dd8e07b20712f97372a1a18ca15
33
+ X-Runtime:
34
+ - '0.048871'
35
+ X-Rack-Cache:
36
+ - miss
37
+ Status:
38
+ - '200'
39
+ Strict-Transport-Security:
40
+ - max-age=15768000
41
+ Content-Length:
42
+ - '1091'
43
+ Content-Type:
44
+ - application/json; charset=utf-8
45
+ body:
46
+ encoding: UTF-8
47
+ string: '[{"lock":{"id":"62191ffe-160e-4227-8e94-7537b83a9ba0","status":null,"name":"Gem
48
+ Test 2","latitude":null,"longitude":null,"keys":[{"id":"b59e31f1-dd34-4044-9e3c-5bb150a0ab70","start":null,"expire":null,"lock_id":"62191ffe-160e-4227-8e94-7537b83a9ba0","role":"owner","valid":true,"visible":true,"user":{"id":"6c121f58-0cc9-11e2-984d-4040401f6100","email":"kurtisnelson@gmail.com","phone":"+14075120689","human_phone":"(407)
49
+ 512-0689","first_name":"Kurt","last_name":"Nelson","full_name":"Kurt Nelson","best_name":"Kurt
50
+ Nelson","activated":true}}]}},{"lock":{"id":"a397ef51-7b33-46dd-9a96-53eb1a7ea07f","status":null,"name":"Gem
51
+ Test","latitude":null,"longitude":null,"keys":[{"id":"cee75f80-c36d-41fc-9bb9-f250fafe2cbc","start":null,"expire":null,"lock_id":"a397ef51-7b33-46dd-9a96-53eb1a7ea07f","role":"owner","valid":true,"visible":true,"user":{"id":"6c121f58-0cc9-11e2-984d-4040401f6100","email":"kurtisnelson@gmail.com","phone":"+14075120689","human_phone":"(407)
52
+ 512-0689","first_name":"Kurt","last_name":"Nelson","full_name":"Kurt Nelson","best_name":"Kurt
53
+ Nelson","activated":true}}]}}]'
54
+ http_version:
55
+ recorded_at: Sun, 23 Jun 2013 21:34:40 GMT
56
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,16 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe Lockitron::Auth do
4
+ let(:auth) {Lockitron::Auth.new(client_id: CLIENT_ID, client_secret: CLIENT_SECRET, redirect_uri: REDIRECT_URI)}
5
+ it "can provide auth URL" do
6
+ auth.authorization_url.should include CLIENT_ID
7
+ auth.authorization_url.should include REDIRECT_URI
8
+ end
9
+
10
+ it "takes an authorization code and gets a token" do
11
+ VCR.use_cassette 'oauth' do
12
+ auth.token_from_code AUTH_CODE
13
+ end
14
+ auth.token.should_not be_empty
15
+ end
16
+ end
@@ -0,0 +1,35 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe Lockitron::Lock do
4
+ let(:lock) { Lockitron::Lock.new(uuid: VIRTUAL_LOCK_UUID, name: VIRTUAL_LOCK_NAME)}
5
+ context "valid user" do
6
+ let(:valid_user) { Lockitron::User.new OAUTH_TOKEN }
7
+ describe '#as' do
8
+ it "unlocks" do
9
+ lock.as valid_user do |l|
10
+ VCR.use_cassette 'unlock' do
11
+ l.unlock
12
+ end
13
+ end
14
+ end
15
+
16
+ it "locks" do
17
+ lock.as valid_user do |l|
18
+ VCR.use_cassette 'lock' do
19
+ l.lock
20
+ end
21
+ end
22
+ end
23
+
24
+ it "invites users" do
25
+ lock.as valid_user do |l|
26
+ VCR.use_cassette 'invite' do
27
+ l.invite email: 'someone@example.com'
28
+ #invite someone for an hour from now
29
+ l.invite email: 'someone2@example.com', start: Time.now + 3200
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,12 @@
1
+ require_relative '../spec_helper'
2
+
3
+ describe Lockitron::User do
4
+ let(:user) { Lockitron::User.new OAUTH_TOKEN }
5
+ it "lists all the locks" do
6
+ VCR.use_cassette 'user' do
7
+ locks = user.locks
8
+ locks.count.should be > 0
9
+ locks.first.should be_instance_of Lockitron::Lock
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,38 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'coveralls'
4
+ Coveralls.wear! 'rails'
5
+ require 'pry'
6
+ require 'rspec'
7
+ require 'vcr'
8
+
9
+ require 'dotenv'
10
+ Dotenv.load
11
+
12
+ require 'lockitron'
13
+
14
+ #Setup test constants
15
+ CLIENT_ID = 'f0605493712611e3fd2e53b96b0b54836b11d1b05985cc1f908e7a149a7bf5c4'
16
+ ENV['CLIENT_SECRET'] ||= 'yay_client_secret'
17
+ CLIENT_SECRET = ENV['CLIENT_SECRET']
18
+ REDIRECT_URI = 'http://lockitron.com'
19
+ ENV['AUTH_CODE'] = 'yay_auth_code'
20
+ AUTH_CODE = ENV['AUTH_CODE']
21
+ ENV['OAUTH_TOKEN'] ||= 'yay_auth_token'
22
+ OAUTH_TOKEN = ENV['OAUTH_TOKEN']
23
+ VIRTUAL_LOCK_NAME = 'Gem Test'
24
+ VIRTUAL_LOCK_UUID = 'a397ef51-7b33-46dd-9a96-53eb1a7ea07f'
25
+
26
+ # Requires supporting files with custom matchers and macros, etc,
27
+ # in ./support/ and its subdirectories.
28
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
29
+ VCR.configure do |c|
30
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
31
+ c.hook_into :webmock
32
+ c.filter_sensitive_data('<OAUTH_TOKEN>') { ENV['OAUTH_TOKEN'] }
33
+ c.filter_sensitive_data('<CLIENT_SECRET>') { ENV['CLIENT_SECRET'] }
34
+ end
35
+
36
+ RSpec.configure do |config|
37
+
38
+ end
metadata CHANGED
@@ -1,110 +1,233 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lockitron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
- - Jarred Sumner
7
+ - Kurt Nelson
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-09 00:00:00.000000000 Z
11
+ date: 2013-06-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rest-client
14
+ name: faraday
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.8.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.8.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: hashie
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
20
32
  - !ruby/object:Gem::Version
21
33
  version: '0'
22
34
  type: :runtime
23
35
  prerelease: false
24
36
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
37
  requirements:
27
- - - ! '>='
38
+ - - '>='
28
39
  - !ruby/object:Gem::Version
29
40
  version: '0'
30
41
  - !ruby/object:Gem::Dependency
31
- name: thor
42
+ name: oauth2
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
- - - ! '>='
45
+ - - '>='
36
46
  - !ruby/object:Gem::Version
37
47
  version: '0'
38
48
  type: :runtime
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ! '>='
52
+ - - '>='
44
53
  - !ruby/object:Gem::Version
45
54
  version: '0'
46
55
  - !ruby/object:Gem::Dependency
47
- name: json
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.8.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.8.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rdoc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '3.12'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '3.12'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
48
85
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
86
  requirements:
51
- - - ! '>='
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: dotenv
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
52
102
  - !ruby/object:Gem::Version
53
103
  version: '0'
54
- type: :runtime
104
+ type: :development
55
105
  prerelease: false
56
106
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
107
  requirements:
59
- - - ! '>='
108
+ - - '>='
60
109
  - !ruby/object:Gem::Version
61
110
  version: '0'
62
- description: Lockitron lets you unlock your front door from anywhere in the world,
63
- including your smartphone. We have an iPhone app, an Android app, a webapp, a mobile
64
- web app, a REST API, and now, a RubyGem.
65
- email: jarred@lockitron.com
66
- executables:
67
- - lockitron
111
+ - !ruby/object:Gem::Dependency
112
+ name: coveralls
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: vcr
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: Communicate with a Lockitron
168
+ email: kurtisnelson@gmail.com
169
+ executables: []
68
170
  extensions: []
69
- extra_rdoc_files: []
171
+ extra_rdoc_files:
172
+ - LICENSE.txt
173
+ - README.md
70
174
  files:
175
+ - .document
71
176
  - .gitignore
177
+ - .rspec
178
+ - .ruby-version
179
+ - .travis.yml
72
180
  - Gemfile
73
- - LICENSE
181
+ - LICENSE.txt
74
182
  - README.md
75
183
  - Rakefile
76
- - bin/lockitron
77
- - gem.sublime-project
78
- - gem.sublime-workspace
79
184
  - lib/lockitron.rb
80
- - lib/lockitron/authentication.rb
81
- - lib/lockitron/lockitron.rb
82
- - lib/lockitron/locks.rb
185
+ - lib/lockitron/auth.rb
186
+ - lib/lockitron/lock.rb
187
+ - lib/lockitron/user.rb
83
188
  - lib/lockitron/version.rb
84
189
  - lockitron.gemspec
85
- homepage: http://github.com/jarred-sumner/lockitron
190
+ - spec/fixtures/vcr_cassettes/invite.yml
191
+ - spec/fixtures/vcr_cassettes/lock.yml
192
+ - spec/fixtures/vcr_cassettes/oauth.yml
193
+ - spec/fixtures/vcr_cassettes/unlock.yml
194
+ - spec/fixtures/vcr_cassettes/user.yml
195
+ - spec/request/auth_spec.rb
196
+ - spec/request/lock_spec.rb
197
+ - spec/request/user_spec.rb
198
+ - spec/spec_helper.rb
199
+ homepage: http://github.com/kurtisnelson/lockitron
86
200
  licenses:
87
201
  - MIT
202
+ metadata: {}
88
203
  post_install_message:
89
204
  rdoc_options: []
90
205
  require_paths:
91
206
  - lib
92
207
  required_ruby_version: !ruby/object:Gem::Requirement
93
- none: false
94
208
  requirements:
95
- - - ! '>='
209
+ - - '>='
96
210
  - !ruby/object:Gem::Version
97
211
  version: '0'
98
212
  required_rubygems_version: !ruby/object:Gem::Requirement
99
- none: false
100
213
  requirements:
101
- - - ! '>='
214
+ - - '>='
102
215
  - !ruby/object:Gem::Version
103
216
  version: '0'
104
217
  requirements: []
105
218
  rubyforge_project:
106
- rubygems_version: 1.8.24
219
+ rubygems_version: 2.0.3
107
220
  signing_key:
108
- specification_version: 3
109
- summary: Lock and unlock your lock your Lockitron-powered locks from bash and Ruby
110
- test_files: []
221
+ specification_version: 4
222
+ summary: Access the Lockitron API
223
+ test_files:
224
+ - spec/fixtures/vcr_cassettes/invite.yml
225
+ - spec/fixtures/vcr_cassettes/lock.yml
226
+ - spec/fixtures/vcr_cassettes/oauth.yml
227
+ - spec/fixtures/vcr_cassettes/unlock.yml
228
+ - spec/fixtures/vcr_cassettes/user.yml
229
+ - spec/request/auth_spec.rb
230
+ - spec/request/lock_spec.rb
231
+ - spec/request/user_spec.rb
232
+ - spec/spec_helper.rb
233
+ has_rdoc: