opensesame 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +11 -1
  3. data/app/controllers/open_sesame/sessions_controller.rb +6 -2
  4. data/lib/open_sesame.rb +8 -2
  5. data/lib/open_sesame/configuration.rb +23 -8
  6. data/lib/open_sesame/devise.rb +13 -0
  7. data/lib/open_sesame/engine.rb +12 -16
  8. data/lib/open_sesame/failure/devise_app.rb +1 -1
  9. data/lib/open_sesame/github_auth.rb +17 -1
  10. data/lib/open_sesame/github_warden.rb +6 -2
  11. data/lib/open_sesame/helpers/controller_helper.rb +1 -1
  12. data/lib/open_sesame/member.rb +52 -19
  13. data/lib/open_sesame/version.rb +1 -1
  14. data/spec/dummy/app/models/user.rb +8 -0
  15. data/spec/dummy/config/initializers/devise.rb +267 -0
  16. data/spec/dummy/config/initializers/opensesame.rb +5 -4
  17. data/spec/dummy/config/locales/devise.en.yml +59 -0
  18. data/spec/dummy/config/routes.rb +2 -0
  19. data/spec/dummy/db/development.sqlite3 +0 -0
  20. data/spec/dummy/db/migrate/20140410210424_devise_create_users.rb +42 -0
  21. data/spec/dummy/db/schema.rb +19 -1
  22. data/spec/dummy/db/test.sqlite3 +0 -0
  23. data/spec/dummy/log/development.log +153 -0
  24. data/spec/dummy/log/test.log +77170 -0
  25. data/spec/dummy/tmp/cache/assets/C72/560/sprockets%2F454956b6f70061da46ea7e27111c1008 +0 -0
  26. data/spec/dummy/tmp/cache/assets/C96/3A0/sprockets%2F97c9391b36c4982d0c9fc0807276627f +0 -0
  27. data/spec/dummy/tmp/cache/assets/CA9/460/sprockets%2F948e48dc820b40d8161dd1460b2064b9 +0 -0
  28. data/spec/dummy/tmp/cache/assets/CB9/D50/sprockets%2F2945a991966bdb26e54c2d48a63d6225 +0 -0
  29. data/spec/dummy/tmp/cache/assets/CFC/F00/sprockets%2F031f4282e0b852bc633f0bad24e56c63 +0 -0
  30. data/spec/dummy/tmp/cache/assets/D08/BA0/sprockets%2F796774ff7a0a9a7f394dd67d369c8693 +0 -0
  31. data/spec/dummy/tmp/cache/assets/D4C/C80/sprockets%2F3555b9b1ef17e63f54c7f2a819a2ce88 +0 -0
  32. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  33. data/spec/dummy/tmp/cache/assets/D60/A00/sprockets%2F47747aad6a9bcc1d57003331c30e6cfd +0 -0
  34. data/spec/dummy/tmp/cache/assets/D61/6B0/sprockets%2Faa0ef972a2d713f5b0096ead0e9a0681 +0 -0
  35. data/spec/dummy/tmp/cache/assets/D6D/F40/sprockets%2F071c809d0cdd0bbad45a1b9f8d718858 +0 -0
  36. data/spec/dummy/tmp/cache/assets/D9D/E40/sprockets%2F81ceef9ff2401a52fa3d5777afa0348b +0 -0
  37. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  38. data/spec/lib/open_sesame/configuration_spec.rb +9 -4
  39. data/spec/lib/open_sesame/github_warden_spec.rb +13 -8
  40. data/spec/lib/open_sesame/member_spec.rb +9 -25
  41. data/spec/lib/open_sesame/sessions_spec.rb +4 -5
  42. data/spec/spec_helper.rb +7 -5
  43. data/spec/support/capybara.rb +15 -11
  44. data/spec/support/request_helpers.rb +1 -1
  45. data/spec/support/vcr.rb +3 -2
  46. data/spec/vcr/1.9/member/retrieves_attributes_from_github.yml +491 -0
  47. data/spec/vcr/1.9/member/returns_nil_if_no_github_member_found.yml +185 -0
  48. data/spec/vcr/1.9/member/serialize_from_session_returns_member_from_given_member_id.yml +491 -0
  49. data/spec/vcr/1.9/member/serialize_into_session_returns_given_member_id_in_array.yml +491 -0
  50. data/spec/vcr/1.9/session/allows_auto_login.yml +491 -0
  51. data/spec/vcr/1.9/session/enforces_opensesame_login.yml +491 -0
  52. data/spec/vcr/1.9/session/skips_auto_login_if_just_logged_out.yml +491 -0
  53. data/spec/vcr/2.0/member/retrieves_attributes_from_github.yml +208 -0
  54. data/spec/vcr/2.0/member/returns_nil_if_no_github_member_found.yml +67 -0
  55. data/spec/vcr/2.0/member/serialize_from_session_returns_member_from_given_member_id.yml +208 -0
  56. data/spec/vcr/2.0/member/serialize_into_session_returns_given_member_id_in_array.yml +208 -0
  57. data/spec/vcr/2.0/session/allows_auto_login.yml +208 -0
  58. data/spec/vcr/2.0/session/enforces_opensesame_login.yml +208 -0
  59. data/spec/vcr/2.0/session/skips_auto_login_if_just_logged_out.yml +208 -0
  60. metadata +141 -81
  61. data/spec/vcr/member/retrieves_attributes_from_github.yml +0 -46
  62. data/spec/vcr/member/returns_nil_if_no_github_member_found.yml +0 -46
  63. data/spec/vcr/member/serialize_from_session_returns_member_from_given_member_id.yml +0 -89
  64. data/spec/vcr/member/serialize_into_session_returns_given_member_id_in_array.yml +0 -46
  65. data/spec/vcr/session/allows_auto_login.yml +0 -132
  66. data/spec/vcr/session/enforces_opensesame_login.yml +0 -132
  67. data/spec/vcr/session/skips_auto_login_if_just_logged_out.yml +0 -175
  68. data/spec/vcr/session/tries_auto_login_and_ends_up_on_opensesame_page_after_failure.yml +0 -46
@@ -0,0 +1,208 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/orgs/challengepost/members/rossta?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ accept:
11
+ - application/vnd.github.beta+json
12
+ user-agent:
13
+ - Octokit Ruby Gem 2.3.1
14
+ accept-encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ response:
17
+ status:
18
+ code: 302
19
+ message: Found
20
+ headers:
21
+ server:
22
+ - GitHub.com
23
+ date:
24
+ - Fri, 11 Apr 2014 14:53:17 GMT
25
+ content-type:
26
+ - text/html;charset=utf-8
27
+ connection:
28
+ - close
29
+ status:
30
+ - 302 Found
31
+ x-ratelimit-limit:
32
+ - '5000'
33
+ x-ratelimit-remaining:
34
+ - '4960'
35
+ x-ratelimit-reset:
36
+ - '1397230923'
37
+ location:
38
+ - https://api.github.com/organizations/199945/public_members/rossta
39
+ x-xss-protection:
40
+ - 1; mode=block
41
+ x-frame-options:
42
+ - deny
43
+ content-security-policy:
44
+ - default-src 'none'
45
+ content-length:
46
+ - '0'
47
+ access-control-allow-credentials:
48
+ - 'true'
49
+ access-control-expose-headers:
50
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
51
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
52
+ access-control-allow-origin:
53
+ - '*'
54
+ x-github-request-id:
55
+ - 324A188A:013E:1C081F:534801DD
56
+ strict-transport-security:
57
+ - max-age=31536000
58
+ x-content-type-options:
59
+ - nosniff
60
+ vary:
61
+ - Accept-Encoding
62
+ x-served-by:
63
+ - 132026e9262a0093e437f99db5f1e499
64
+ body:
65
+ encoding: UTF-8
66
+ string: ''
67
+ http_version: '1.1'
68
+ recorded_at: Fri, 11 Apr 2014 14:53:27 GMT
69
+ - request:
70
+ method: get
71
+ uri: https://api.github.com/organizations/199945/public_members/rossta?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
72
+ body:
73
+ encoding: US-ASCII
74
+ string: ''
75
+ headers:
76
+ accept:
77
+ - application/vnd.github.beta+json
78
+ user-agent:
79
+ - Octokit Ruby Gem 2.3.1
80
+ accept-encoding:
81
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
82
+ response:
83
+ status:
84
+ code: 204
85
+ message: No Content
86
+ headers:
87
+ server:
88
+ - GitHub.com
89
+ date:
90
+ - Fri, 11 Apr 2014 14:53:17 GMT
91
+ connection:
92
+ - close
93
+ status:
94
+ - 204 No Content
95
+ x-ratelimit-limit:
96
+ - '5000'
97
+ x-ratelimit-remaining:
98
+ - '4959'
99
+ x-ratelimit-reset:
100
+ - '1397230923'
101
+ x-github-media-type:
102
+ - github.beta; format=json
103
+ x-xss-protection:
104
+ - 1; mode=block
105
+ x-frame-options:
106
+ - deny
107
+ content-security-policy:
108
+ - default-src 'none'
109
+ access-control-allow-credentials:
110
+ - 'true'
111
+ access-control-expose-headers:
112
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
113
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
114
+ access-control-allow-origin:
115
+ - '*'
116
+ x-github-request-id:
117
+ - 324A188A:013E:1C083E:534801DD
118
+ strict-transport-security:
119
+ - max-age=31536000
120
+ x-content-type-options:
121
+ - nosniff
122
+ vary:
123
+ - Accept-Encoding
124
+ x-served-by:
125
+ - d818ddef80f4c7d10683dd483558952a
126
+ body:
127
+ encoding: US-ASCII
128
+ string: ''
129
+ http_version: '1.1'
130
+ recorded_at: Fri, 11 Apr 2014 14:53:27 GMT
131
+ - request:
132
+ method: get
133
+ uri: https://api.github.com/users/rossta?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
134
+ body:
135
+ encoding: US-ASCII
136
+ string: ''
137
+ headers:
138
+ accept:
139
+ - application/vnd.github.beta+json
140
+ user-agent:
141
+ - Octokit Ruby Gem 2.3.1
142
+ accept-encoding:
143
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
144
+ response:
145
+ status:
146
+ code: 200
147
+ message: OK
148
+ headers:
149
+ server:
150
+ - GitHub.com
151
+ date:
152
+ - Fri, 11 Apr 2014 14:53:17 GMT
153
+ content-type:
154
+ - application/json; charset=utf-8
155
+ transfer-encoding:
156
+ - chunked
157
+ connection:
158
+ - close
159
+ status:
160
+ - 200 OK
161
+ x-ratelimit-limit:
162
+ - '5000'
163
+ x-ratelimit-remaining:
164
+ - '4958'
165
+ x-ratelimit-reset:
166
+ - '1397230923'
167
+ cache-control:
168
+ - public, max-age=60, s-maxage=60
169
+ last-modified:
170
+ - Thu, 10 Apr 2014 22:40:18 GMT
171
+ etag:
172
+ - '"f8ff49c31bbe1a197e2fbbbb86ad5eda"'
173
+ vary:
174
+ - Accept
175
+ - Accept-Encoding
176
+ x-github-media-type:
177
+ - github.beta; format=json
178
+ x-xss-protection:
179
+ - 1; mode=block
180
+ x-frame-options:
181
+ - deny
182
+ content-security-policy:
183
+ - default-src 'none'
184
+ access-control-allow-credentials:
185
+ - 'true'
186
+ access-control-expose-headers:
187
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
188
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
189
+ access-control-allow-origin:
190
+ - '*'
191
+ x-github-request-id:
192
+ - 324A188A:0140:37B20E:534801DD
193
+ strict-transport-security:
194
+ - max-age=31536000
195
+ x-content-type-options:
196
+ - nosniff
197
+ x-served-by:
198
+ - 3061975e1f37121b3751604ad153c687
199
+ content-encoding:
200
+ - gzip
201
+ body:
202
+ encoding: UTF-8
203
+ string: '{"login":"rossta","id":11673,"avatar_url":"https://avatars.githubusercontent.com/u/11673?","gravatar_id":"b0169a78f851962058d63337ad0147d6","url":"https://api.github.com/users/rossta","html_url":"https://github.com/rossta","followers_url":"https://api.github.com/users/rossta/followers","following_url":"https://api.github.com/users/rossta/following{/other_user}","gists_url":"https://api.github.com/users/rossta/gists{/gist_id}","starred_url":"https://api.github.com/users/rossta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rossta/subscriptions","organizations_url":"https://api.github.com/users/rossta/orgs","repos_url":"https://api.github.com/users/rossta/repos","events_url":"https://api.github.com/users/rossta/events{/privacy}","received_events_url":"https://api.github.com/users/rossta/received_events","type":"User","site_admin":false,"name":"Ross
204
+ Kaffenberger","company":"http://challengepost.com","blog":"http://rosskaff.com","location":"New
205
+ York City","email":"rosskaff@gmail.com","hireable":false,"bio":null,"public_repos":62,"public_gists":27,"followers":20,"following":23,"created_at":"2008-05-27T18:27:16Z","updated_at":"2014-04-10T22:40:18Z"}'
206
+ http_version: '1.1'
207
+ recorded_at: Fri, 11 Apr 2014 14:53:27 GMT
208
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/orgs/challengepost/members/-1?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ accept:
11
+ - application/vnd.github.beta+json
12
+ user-agent:
13
+ - Octokit Ruby Gem 2.3.1
14
+ accept-encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ server:
22
+ - GitHub.com
23
+ date:
24
+ - Fri, 11 Apr 2014 14:53:17 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 404 Not Found
33
+ x-ratelimit-limit:
34
+ - '5000'
35
+ x-ratelimit-remaining:
36
+ - '4957'
37
+ x-ratelimit-reset:
38
+ - '1397230923'
39
+ x-github-media-type:
40
+ - github.beta; format=json
41
+ x-xss-protection:
42
+ - 1; mode=block
43
+ x-frame-options:
44
+ - deny
45
+ content-security-policy:
46
+ - default-src 'none'
47
+ access-control-allow-credentials:
48
+ - 'true'
49
+ access-control-expose-headers:
50
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
51
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
52
+ access-control-allow-origin:
53
+ - '*'
54
+ x-github-request-id:
55
+ - 324A188A:013F:2A312D:534801DD
56
+ strict-transport-security:
57
+ - max-age=31536000
58
+ x-content-type-options:
59
+ - nosniff
60
+ content-encoding:
61
+ - gzip
62
+ body:
63
+ encoding: UTF-8
64
+ string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3"}'
65
+ http_version: '1.1'
66
+ recorded_at: Fri, 11 Apr 2014 14:53:28 GMT
67
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,208 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/orgs/challengepost/members/rossta?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ accept:
11
+ - application/vnd.github.beta+json
12
+ user-agent:
13
+ - Octokit Ruby Gem 2.3.1
14
+ accept-encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ response:
17
+ status:
18
+ code: 302
19
+ message: Found
20
+ headers:
21
+ server:
22
+ - GitHub.com
23
+ date:
24
+ - Fri, 11 Apr 2014 14:53:18 GMT
25
+ content-type:
26
+ - text/html;charset=utf-8
27
+ connection:
28
+ - close
29
+ status:
30
+ - 302 Found
31
+ x-ratelimit-limit:
32
+ - '5000'
33
+ x-ratelimit-remaining:
34
+ - '4953'
35
+ x-ratelimit-reset:
36
+ - '1397230923'
37
+ location:
38
+ - https://api.github.com/organizations/199945/public_members/rossta
39
+ x-xss-protection:
40
+ - 1; mode=block
41
+ x-frame-options:
42
+ - deny
43
+ content-security-policy:
44
+ - default-src 'none'
45
+ content-length:
46
+ - '0'
47
+ access-control-allow-credentials:
48
+ - 'true'
49
+ access-control-expose-headers:
50
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
51
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
52
+ access-control-allow-origin:
53
+ - '*'
54
+ x-github-request-id:
55
+ - 324A188A:013F:2A3222:534801DE
56
+ strict-transport-security:
57
+ - max-age=31536000
58
+ x-content-type-options:
59
+ - nosniff
60
+ vary:
61
+ - Accept-Encoding
62
+ x-served-by:
63
+ - 03d91026ad8428f4d9966d7434f9d82e
64
+ body:
65
+ encoding: UTF-8
66
+ string: ''
67
+ http_version: '1.1'
68
+ recorded_at: Fri, 11 Apr 2014 14:53:29 GMT
69
+ - request:
70
+ method: get
71
+ uri: https://api.github.com/organizations/199945/public_members/rossta?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
72
+ body:
73
+ encoding: US-ASCII
74
+ string: ''
75
+ headers:
76
+ accept:
77
+ - application/vnd.github.beta+json
78
+ user-agent:
79
+ - Octokit Ruby Gem 2.3.1
80
+ accept-encoding:
81
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
82
+ response:
83
+ status:
84
+ code: 204
85
+ message: No Content
86
+ headers:
87
+ server:
88
+ - GitHub.com
89
+ date:
90
+ - Fri, 11 Apr 2014 14:53:19 GMT
91
+ connection:
92
+ - close
93
+ status:
94
+ - 204 No Content
95
+ x-ratelimit-limit:
96
+ - '5000'
97
+ x-ratelimit-remaining:
98
+ - '4952'
99
+ x-ratelimit-reset:
100
+ - '1397230923'
101
+ x-github-media-type:
102
+ - github.beta; format=json
103
+ x-xss-protection:
104
+ - 1; mode=block
105
+ x-frame-options:
106
+ - deny
107
+ content-security-policy:
108
+ - default-src 'none'
109
+ access-control-allow-credentials:
110
+ - 'true'
111
+ access-control-expose-headers:
112
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
113
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
114
+ access-control-allow-origin:
115
+ - '*'
116
+ x-github-request-id:
117
+ - 324A188A:013F:2A3260:534801DE
118
+ strict-transport-security:
119
+ - max-age=31536000
120
+ x-content-type-options:
121
+ - nosniff
122
+ vary:
123
+ - Accept-Encoding
124
+ x-served-by:
125
+ - 62a1303ae95931e56e387e87d354bb24
126
+ body:
127
+ encoding: US-ASCII
128
+ string: ''
129
+ http_version: '1.1'
130
+ recorded_at: Fri, 11 Apr 2014 14:53:29 GMT
131
+ - request:
132
+ method: get
133
+ uri: https://api.github.com/users/rossta?client_id=65c6c34afdfc113d4698&client_secret=59c44f344f9c45b4f15b03935bb2cc0501d40e46
134
+ body:
135
+ encoding: US-ASCII
136
+ string: ''
137
+ headers:
138
+ accept:
139
+ - application/vnd.github.beta+json
140
+ user-agent:
141
+ - Octokit Ruby Gem 2.3.1
142
+ accept-encoding:
143
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
144
+ response:
145
+ status:
146
+ code: 200
147
+ message: OK
148
+ headers:
149
+ server:
150
+ - GitHub.com
151
+ date:
152
+ - Fri, 11 Apr 2014 14:53:19 GMT
153
+ content-type:
154
+ - application/json; charset=utf-8
155
+ transfer-encoding:
156
+ - chunked
157
+ connection:
158
+ - close
159
+ status:
160
+ - 200 OK
161
+ x-ratelimit-limit:
162
+ - '5000'
163
+ x-ratelimit-remaining:
164
+ - '4951'
165
+ x-ratelimit-reset:
166
+ - '1397230923'
167
+ cache-control:
168
+ - public, max-age=60, s-maxage=60
169
+ last-modified:
170
+ - Thu, 10 Apr 2014 22:40:18 GMT
171
+ etag:
172
+ - '"f8ff49c31bbe1a197e2fbbbb86ad5eda"'
173
+ vary:
174
+ - Accept
175
+ - Accept-Encoding
176
+ x-github-media-type:
177
+ - github.beta; format=json
178
+ x-xss-protection:
179
+ - 1; mode=block
180
+ x-frame-options:
181
+ - deny
182
+ content-security-policy:
183
+ - default-src 'none'
184
+ access-control-allow-credentials:
185
+ - 'true'
186
+ access-control-expose-headers:
187
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
188
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
189
+ access-control-allow-origin:
190
+ - '*'
191
+ x-github-request-id:
192
+ - 324A188A:0140:37B429:534801DF
193
+ strict-transport-security:
194
+ - max-age=31536000
195
+ x-content-type-options:
196
+ - nosniff
197
+ x-served-by:
198
+ - 971af40390ac4398fcdd45c8dab0fbe7
199
+ content-encoding:
200
+ - gzip
201
+ body:
202
+ encoding: UTF-8
203
+ string: '{"login":"rossta","id":11673,"avatar_url":"https://avatars.githubusercontent.com/u/11673?","gravatar_id":"b0169a78f851962058d63337ad0147d6","url":"https://api.github.com/users/rossta","html_url":"https://github.com/rossta","followers_url":"https://api.github.com/users/rossta/followers","following_url":"https://api.github.com/users/rossta/following{/other_user}","gists_url":"https://api.github.com/users/rossta/gists{/gist_id}","starred_url":"https://api.github.com/users/rossta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rossta/subscriptions","organizations_url":"https://api.github.com/users/rossta/orgs","repos_url":"https://api.github.com/users/rossta/repos","events_url":"https://api.github.com/users/rossta/events{/privacy}","received_events_url":"https://api.github.com/users/rossta/received_events","type":"User","site_admin":false,"name":"Ross
204
+ Kaffenberger","company":"http://challengepost.com","blog":"http://rosskaff.com","location":"New
205
+ York City","email":"rosskaff@gmail.com","hireable":false,"bio":null,"public_repos":62,"public_gists":27,"followers":20,"following":23,"created_at":"2008-05-27T18:27:16Z","updated_at":"2014-04-10T22:40:18Z"}'
206
+ http_version: '1.1'
207
+ recorded_at: Fri, 11 Apr 2014 14:53:29 GMT
208
+ recorded_with: VCR 2.9.0