url_2_event 0.0.1

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 (38) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +302 -0
  5. data/CONTRIBUTING.md +124 -0
  6. data/Gemfile +2 -0
  7. data/Guardfile +16 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +64 -0
  10. data/Rakefile +2 -0
  11. data/lib/url_2_event.rb +52 -0
  12. data/lib/url_2_event/adapters/eventbrite.rb +68 -0
  13. data/lib/url_2_event/adapters/meetup.rb +72 -0
  14. data/lib/url_2_event/base.rb +43 -0
  15. data/lib/url_2_event/event.rb +4 -0
  16. data/lib/url_2_event/version.rb +3 -0
  17. data/script/console.rb +8 -0
  18. data/spec/cassettes/Url2Event/_parse_event_from_uri/.yml +95 -0
  19. data/spec/cassettes/Url2Event_Eventbrite/get_event/.yml +270 -0
  20. data/spec/cassettes/Url2Event_Eventbrite/get_event/begin_at/.yml +270 -0
  21. data/spec/cassettes/Url2Event_Eventbrite/get_event/description/.yml +270 -0
  22. data/spec/cassettes/Url2Event_Eventbrite/get_event/end_at/.yml +270 -0
  23. data/spec/cassettes/Url2Event_Eventbrite/get_event/link/.yml +270 -0
  24. data/spec/cassettes/Url2Event_Eventbrite/get_event/location/.yml +270 -0
  25. data/spec/cassettes/Url2Event_Eventbrite/get_event/title/.yml +270 -0
  26. data/spec/cassettes/Url2Event_Meetup/get_event/.yml +209 -0
  27. data/spec/cassettes/Url2Event_Meetup/get_event/begin_at/.yml +209 -0
  28. data/spec/cassettes/Url2Event_Meetup/get_event/description/.yml +209 -0
  29. data/spec/cassettes/Url2Event_Meetup/get_event/end_at/.yml +209 -0
  30. data/spec/cassettes/Url2Event_Meetup/get_event/location/.yml +209 -0
  31. data/spec/cassettes/Url2Event_Meetup/get_event/price/.yml +209 -0
  32. data/spec/cassettes/Url2Event_Meetup/get_event/title/.yml +209 -0
  33. data/spec/eventbrite_spec.rb +33 -0
  34. data/spec/meetup_spec.rb +31 -0
  35. data/spec/spec_helper.rb +32 -0
  36. data/spec/url_2_event_spec.rb +33 -0
  37. data/url_2_event.gemspec +35 -0
  38. metadata +295 -0
@@ -0,0 +1,270 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.eventbriteapi.com/v3/events/12095703575
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Authorization:
11
+ - Bearer <EVENTBRITE_TOKEN>
12
+ response:
13
+ status:
14
+ code: 301
15
+ message: MOVED PERMANENTLY
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Thu, 20 Nov 2014 21:09:54 GMT
21
+ Content-Type:
22
+ - text/html; charset=utf-8
23
+ Transfer-Encoding:
24
+ - chunked
25
+ Connection:
26
+ - keep-alive
27
+ X-Xss-Protection:
28
+ - 1; mode=block
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Location:
32
+ - https://www.eventbriteapi.com/v3/events/12095703575/
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ P3p:
36
+ - CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
37
+ X-Ua-Compatible:
38
+ - IE=edge
39
+ Set-Cookie:
40
+ - AN=; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
41
+ - SP=AGQgbbkkUNzjkjuaf8RUVXlIKqgB-Cgx98G9xwj5HOmufHBvO-Bi80Q9AimWIGBJKwb06voQeKNr2YTm5lVdngIb6_KAibHVJcjzCdK5CNKLGJa0jnnEjJZd7S_WMFznT55dmp_R345HbfFAnIG9jOnHexrb3L1K1oQFd4-MTssolfDVy2XXSRPGAWCqH2E6VJKKT7AcmPKG8DERrmOEqStLnrHXFga-F9vFBnoo6iuhpP-EMFxNVrE;
42
+ Domain=.eventbriteapi.com; httponly; Path=/
43
+ - SS=AE3DLHQPwlTP-NOwKkspYG9Gbh0MUvpE4A; Domain=.eventbriteapi.com; httponly;
44
+ Path=/; secure
45
+ - mgref=typeins; Domain=.eventbriteapi.com; expires=Fri, 20-Nov-2015 21:09:53
46
+ GMT; httponly; Max-Age=31536000; Path=/
47
+ - mgrefby=; Domain=.eventbriteapi.com; expires=Fri, 20-Nov-2015 21:09:53 GMT;
48
+ httponly; Max-Age=31536000; Path=/
49
+ body:
50
+ encoding: UTF-8
51
+ string: ''
52
+ http_version:
53
+ recorded_at: Thu, 20 Nov 2014 21:09:54 GMT
54
+ - request:
55
+ method: get
56
+ uri: https://www.eventbriteapi.com/v3/events/12095703575/
57
+ body:
58
+ encoding: US-ASCII
59
+ string: ''
60
+ headers:
61
+ Authorization:
62
+ - Bearer <EVENTBRITE_TOKEN>
63
+ Cookie:
64
+ - SS=AE3DLHQPwlTP-NOwKkspYG9Gbh0MUvpE4A; mgref=typeins; Max-Age=0; mgrefby=;
65
+ SP=AGQgbbkkUNzjkjuaf8RUVXlIKqgB-Cgx98G9xwj5HOmufHBvO-Bi80Q9AimWIGBJKwb06voQeKNr2YTm5lVdngIb6_KAibHVJcjzCdK5CNKLGJa0jnnEjJZd7S_WMFznT55dmp_R345HbfFAnIG9jOnHexrb3L1K1oQFd4-MTssolfDVy2XXSRPGAWCqH2E6VJKKT7AcmPKG8DERrmOEqStLnrHXFga-F9vFBnoo6iuhpP-EMFxNVrE;
66
+ AN=
67
+ response:
68
+ status:
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ Server:
73
+ - nginx
74
+ Date:
75
+ - Thu, 20 Nov 2014 21:09:54 GMT
76
+ Content-Type:
77
+ - application/json
78
+ Transfer-Encoding:
79
+ - chunked
80
+ Connection:
81
+ - keep-alive
82
+ X-Xss-Protection:
83
+ - 1; mode=block
84
+ X-Content-Type-Options:
85
+ - nosniff
86
+ Vary:
87
+ - Accept, Accept-Encoding
88
+ X-Ua-Compatible:
89
+ - IE=edge
90
+ Allow:
91
+ - GET, POST, HEAD, OPTIONS
92
+ X-Frame-Options:
93
+ - SAMEORIGIN
94
+ Access-Control-Allow-Origin:
95
+ - "*"
96
+ Access-Control-Allow-Headers:
97
+ - Authorization
98
+ P3p:
99
+ - CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
100
+ Set-Cookie:
101
+ - AN=; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
102
+ - G=v%3D1%26i%3D45faa762-1aa5-43e5-b67b-9b82d5be33f9%26a%3D513%26s%3DAPDvTK7bWX2ObCgFcFBpPxRdhMnq8YtinA;
103
+ Domain=.eventbriteapi.com; expires=Fri, 20-Nov-2015 21:09:54 GMT; httponly;
104
+ Path=/
105
+ - SP=AGQgbblZQ2pm1xDSdSi049ntsOHBIv2kxWbdh8QoRLmBB3RAye_UoZR8ZQCufUeUuV89ywXJa5ba-7EvzInxJWIlTjjQspsxkgGB0x59P8_irv8cLcJrKgn-v27w8MP5I6ScdAU0PIHbctywfWT6uOlu1Rv3H45FTQerrndx9Ecp6KevqNw7bEW_EVPdcypjAyGnGNiu1GpAL9R0wKBNp3k9X4NGkF8cRiHZOjuud8-ab44vtOeQYxA;
106
+ Domain=.eventbriteapi.com; httponly; Path=/
107
+ - SS=AE3DLHQPwlTP-NOwKkspYG9Gbh0MUvpE4A; Domain=.eventbriteapi.com; httponly;
108
+ Path=/; secure
109
+ - eblang=lo%3Den_US%26la%3Den-us; Domain=.eventbriteapi.com; expires=Fri, 20-Nov-2015
110
+ 21:09:54 GMT; httponly; Path=/
111
+ body:
112
+ encoding: UTF-8
113
+ string: '{"resource_uri": "https://www.eventbriteapi.com/v3/events/12095703575/",
114
+ "name": {"text": "Startup Weekend Seattle 10/3", "html": "Startup Weekend
115
+ Seattle 10/3"}, "description": {"text": "For all event details, please visit
116
+ http://go.up.co/seattle \nThanks, \nStartup Weekend \nRefund Policy:\u00a0\u00a0No
117
+ refunds will be granted within 7 days of the event if food and drink have
118
+ already been ordered. Apologies for any inconvenience this may cause. \nAbout
119
+ Startup Weekend:\u00a0Startup Weekends are 54-hour events designed to provide
120
+ superior experiential education for technical and non-technical entrepreneurs.\u00a0\u00a0Beginning
121
+ with Friday night pitches and continuing through brainstorming, business plan
122
+ development, and basic prototype creation, Startup Weekends culminate in Sunday
123
+ night demos and presentations.\u00a0\u00a0Participants create working startups
124
+ during the event and are able to collaborate with like-minded individuals
125
+ outside of their daily networks.\u00a0All teams hear talks by industry leaders
126
+ and receive valuable feedback from local entrepreneurials.\u00a0The weekend
127
+ is centered around action, innovation, and education. \u00a0Whether you are
128
+ looking for feedback on a idea, a co-founder, specific skill sets, or a team
129
+ to help you execute, Startup Weekends are the perfect environment in which
130
+ to test your idea and take the first steps towards launching your own startup.
131
+ \nTerms of Participation Agreement:\u00a0It is our job to provide you with
132
+ an incredible networking and learning opportunity. Our intention is that you
133
+ meet some amazing people that you might actually start a company with, build
134
+ relationships with coaches, and learn from your peers. The event is intended
135
+ to be a collaborative forum for sharing, learning, building, and having fun.
136
+ As such, by registering as a participant, you acknowledge that any ideas shared
137
+ by you or anyone else over the course of the event are contributions to the
138
+ overall experience and community. If you as a participant are worried about
139
+ someone stealing your ideas, please reconsider your participation in the event
140
+ itself or simply refrain from sharing specifics about your idea.\u00a0 \n\u00a0As
141
+ a member of your startup community, you agree to to be inclusive of any and
142
+ all people and their ideas. You agree to act professionally, treat everyone
143
+ with respect, and treat the event facilities with proper care. You agree that
144
+ you are responsible for any accidents or damages that you cause. You also
145
+ agree to not\u00a0hold\u00a0Startup Weekend, your local volunteer team, or
146
+ any of the event supporters liable for any loss, damage, injury, or any other
147
+ unforeseeable incident.\u00a0 \nBy Participating at the event, you grant Startup
148
+ Weekend permission to capture photo/video of the event. You can find the exact
149
+ legal terms on our FAQ Page but to summarize, we want to share your success
150
+ with the world.", "html": "<P>For all event details, please visit <A HREF=\"http://go.up.co/seattle\"
151
+ TARGET=\"_blank\" REL=\"nofollow\">http://go.up.co/seattle<\/A><\/P>\r\n<P>Thanks,<\/P>\r\n<P><A
152
+ HREF=\"http://startupweekend.org/contact/\" REL=\"nofollow\"><SPAN STYLE=\"font-family:
153
+ Arial; font-size: 13.333333969116211px; line-height: 20.799999237060547px;\">Startup
154
+ Weekend<\/SPAN><\/A><\/P>\r\n<P><STRONG STYLE=\"font-size: 13px; line-height:
155
+ 1.6em;\"><SPAN STYLE=\"font-family: Arial;\">Refund Policy:<\/SPAN><\/STRONG><SPAN
156
+ STYLE=\"font-family: Arial;\">\u00a0\u00a0No refunds will be granted within
157
+ 7 days of the event if food and drink have already been ordered. Apologies
158
+ for any inconvenience this may cause.<\/SPAN><\/P>\r\n<P STYLE=\"background-position:
159
+ initial initial; background-repeat: initial initial;\"><STRONG><SPAN STYLE=\"font-family:
160
+ Arial;\">About Startup Weekend:<\/SPAN><\/STRONG><SPAN STYLE=\"font-family:
161
+ Arial;\">\u00a0Startup Weekends are 54-hour events designed to provide superior
162
+ experiential education for technical and non-technical entrepreneurs.\u00a0\u00a0Beginning
163
+ with Friday night pitches and continuing through brainstorming, business plan
164
+ development, and basic prototype creation, Startup Weekends culminate in Sunday
165
+ night demos and presentations.\u00a0\u00a0Participants create working startups
166
+ during the event and are able to collaborate with like-minded individuals
167
+ outside of their daily networks.\u00a0All teams hear talks by industry leaders
168
+ and receive valuable feedback from local entrepreneurials.\u00a0The weekend
169
+ is centered around action, innovation, and education. \u00a0Whether you are
170
+ looking for feedback on a idea, a co-founder, specific skill sets, or a team
171
+ to help you execute, Startup Weekends are the perfect environment in which
172
+ to test your idea and take the first steps towards launching your own startup.<\/SPAN><\/P>\r\n<P
173
+ STYLE=\"background-position: initial initial; background-repeat: initial initial;\"><STRONG><SPAN
174
+ STYLE=\"font-family: Arial;\">Terms of Participation Agreement:\u00a0<\/SPAN><\/STRONG><SPAN
175
+ STYLE=\"font-family: Arial;\">It is our job to provide you with an incredible
176
+ networking and learning opportunity. Our intention is that you meet some amazing
177
+ people that you might actually start a company with, build relationships with
178
+ coaches, and learn from your peers. The event is intended to be a collaborative
179
+ forum for sharing, learning, building, and having fun. As such, by registering
180
+ as a participant, you acknowledge that any ideas shared by you or anyone else
181
+ over the course of the event are contributions to the overall experience and
182
+ community. If you as a participant are worried about someone stealing your
183
+ ideas, please reconsider your participation in the event itself or simply
184
+ refrain from sharing specifics about your idea.\u00a0<\/SPAN><\/P>\r\n<P STYLE=\"background-position:
185
+ initial initial; background-repeat: initial initial;\"><SPAN STYLE=\"font-family:
186
+ Arial;\">\u00a0As a member of your startup community, you agree to to be inclusive
187
+ of any and all people and their ideas. You agree to act professionally, treat
188
+ everyone with respect, and treat the event facilities with proper care. You
189
+ agree that you are responsible for any accidents or damages that you cause.
190
+ You also agree to not\u00a0hold\u00a0Startup Weekend, your local volunteer
191
+ team, or any of the event supporters liable for any loss, damage, injury,
192
+ or any other unforeseeable incident.\u00a0<\/SPAN><\/P>\r\n<P STYLE=\"background-position:
193
+ initial initial; background-repeat: initial initial;\"><SPAN STYLE=\"font-family:
194
+ Arial;\">By Participating at the event, you grant Startup Weekend permission
195
+ to capture photo/video of the event. You can find the exact legal terms on
196
+ our <A HREF=\"http://startupweekend.org/about/firsttimer/\" REL=\"nofollow\">FAQ
197
+ Page<\/A> but to <SPAN STYLE=\"font-family: Arial; font-size: small; line-height:
198
+ 20.799999237060547px;\">summarize<\/SPAN>, we want to share your success with
199
+ the world.<\/SPAN><\/P>\r\n<P STYLE=\"text-align: justify; background-position:
200
+ initial initial; background-repeat: initial initial;\">\u00a0<\/P>"}, "logo":
201
+ {"id": "7488397", "url": "http://cdn.evbuc.com/images/7488397/106782913403/1/logo.png"},
202
+ "id": "12095703575", "url": "http://swseattle0814.eventbrite.com", "logo_url":
203
+ "http://cdn.evbuc.com/images/7488397/106782913403/1/logo.png", "start": {"timezone":
204
+ "America/Los_Angeles", "local": "2014-10-03T18:00:00", "utc": "2014-10-04T01:00:00Z"},
205
+ "end": {"timezone": "America/Los_Angeles", "local": "2014-10-05T21:00:00",
206
+ "utc": "2014-10-06T04:00:00Z"}, "created": "2014-06-26T20:31:08Z", "changed":
207
+ "2014-11-18T00:38:08Z", "capacity": 300, "status": "completed", "currency":
208
+ "USD", "online_event": false, "organizer_id": "2300226659", "venue_id": "7780387",
209
+ "category_id": "199", "subcategory_id": null, "format_id": "100", "subcategory":
210
+ null, "organizer": {"description": {"text": "UP Global is a non-profit dedicated
211
+ to fostering entrepreneurship, grassroots leadership, and strong communities.\u00a0\r\nUP
212
+ Global is on a mission to make the world a more innovative and prosperous
213
+ place, one community at a time. We believe that entrepreneurs are critical
214
+ to driving a strong global economy and a better world. We do our part by supporting
215
+ the grassroots leaders who are at the core of every strong entrepreneurial
216
+ community.\u00a0\r\nThrough the efforts of its grassroots community leaders,
217
+ UP Global operates programs that foster entrepreneurship in hundreds of cities
218
+ across the world. UP Global''s flagship programs & initatives include Startup
219
+ Weekend, Startup Digest, Startup Next, Startup Education, and Entrepreneurs
220
+ Across Borders.", "html": "<P>UP Global is a non-profit dedicated to fostering
221
+ entrepreneurship, grassroots leadership, and strong communities.\u00a0<\/P>\r\n<P>UP
222
+ Global is on a mission to make the world a more innovative and prosperous
223
+ place, one community at a time. We believe that entrepreneurs are critical
224
+ to driving a strong global economy and a better world. We do our part by supporting
225
+ the grassroots leaders who are at the core of every strong entrepreneurial
226
+ community.\u00a0<\/P>\r\n<P>Through the efforts of its grassroots community
227
+ leaders, UP Global operates programs that foster entrepreneurship in hundreds
228
+ of cities across the world. UP Global''s flagship programs & initatives include
229
+ Startup Weekend, Startup Digest, Startup Next, Startup Education, and Entrepreneurs
230
+ Across Borders.<\/P>"}, "logo": {"id": "7073727", "url": "http://cdn.evbuc.com/images/7073727/1954445013/2/logo.jpg"},
231
+ "resource_uri": "https://www.eventbriteapi.com/v3/organizers/2300226659/",
232
+ "id": "2300226659", "name": "UP Global", "url": "http://www.eventbrite.com/o/up-global-2300226659",
233
+ "num_past_events": 2162, "num_future_events": 136}, "venue": {"address": {"address_1":
234
+ "1301 2nd Ave", "address_2": null, "city": "Seattle", "region": "WA", "postal_code":
235
+ "98101", "country": "US", "latitude": "47.607935", "longitude": "-122.338211"},
236
+ "resource_uri": "https://www.eventbriteapi.com/v3/venues/7780387/", "id":
237
+ "7780387", "name": "Zillow Seattle Headquarters", "latitude": "47.607935",
238
+ "longitude": "-122.338211"}, "category": {"resource_uri": "https://www.eventbriteapi.com/v3/categories/199/",
239
+ "id": "199", "name": "Other", "name_localized": "Other", "short_name": "Other",
240
+ "short_name_localized": "Other"}, "format": {"resource_uri": "https://www.eventbriteapi.com/v3/formats/100/",
241
+ "id": "100", "name": "Other", "name_localized": "Other", "short_name": "Other",
242
+ "short_name_localized": "Other"}, "ticket_classes": [{"resource_uri": "https://www.eventbriteapi.com/v3/events/12095703575/ticket_classes/26719725/",
243
+ "id": "26719725", "name": "Developer", "description": "This ticket type applies
244
+ to software engineers/coders/developers - in short, anybody who can and will
245
+ write code. Students: use code \"STUDENT\" and pay just $49. You will be required
246
+ to show Student ID at the door.", "cost": {"currency": "USD", "display": "$99.00",
247
+ "value": 9900}, "fee": {"currency": "USD", "display": "$0.00", "value": 0},
248
+ "donation": false, "free": false, "minimum_quantity": 1, "maximum_quantity":
249
+ 30, "variants": [], "event_id": "12095703575"}, {"resource_uri": "https://www.eventbriteapi.com/v3/events/12095703575/ticket_classes/26719727/",
250
+ "id": "26719727", "name": "Designer", "description": "This ticket type applies
251
+ to anybody with a background in design (graphics, UX/UI, etc.) Students: use
252
+ code \"STUDENT\" and pay just $49. You will be required to show Student ID
253
+ at the door. ", "cost": {"currency": "USD", "display": "$99.00", "value":
254
+ 9900}, "fee": {"currency": "USD", "display": "$2.24", "value": 224}, "donation":
255
+ false, "free": false, "minimum_quantity": 1, "maximum_quantity": 30, "variants":
256
+ [], "event_id": "12095703575"}, {"resource_uri": "https://www.eventbriteapi.com/v3/events/12095703575/ticket_classes/26719729/",
257
+ "id": "26719729", "name": "Non-Technical", "description": "This ticket type
258
+ applies to business, marketing & PR, and anyone with a non-technical background.
259
+ Students: use code \"STUDENT\" and pay just $49. You will be required to show
260
+ Student ID at the door.", "cost": {"currency": "USD", "display": "$99.00",
261
+ "value": 9900}, "fee": {"currency": "USD", "display": "$0.00", "value": 0},
262
+ "donation": false, "free": false, "minimum_quantity": 1, "maximum_quantity":
263
+ 30, "variants": [], "event_id": "12095703575"}, {"resource_uri": "https://www.eventbriteapi.com/v3/events/12095703575/ticket_classes/26719741/",
264
+ "id": "26719741", "name": "Demo Day", "description": null, "cost": {"currency":
265
+ "USD", "display": "$25.00", "value": 2500}, "fee": {"currency": "USD", "display":
266
+ "$1.13", "value": 113}, "donation": false, "free": false, "minimum_quantity":
267
+ 1, "maximum_quantity": 30, "variants": [], "event_id": "12095703575"}]}'
268
+ http_version:
269
+ recorded_at: Thu, 20 Nov 2014 21:09:55 GMT
270
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,209 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.meetup.com/2/event/187282242?format=json&key=<MEETUP_API_KEY>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 20 Nov 2014 21:34:42 GMT
23
+ Content-Type:
24
+ - application/json;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Set-Cookie:
30
+ - __cfduid=ddc2b5e428556f7cb390a65bfd204d8e01416519282; expires=Fri, 20-Nov-15
31
+ 21:34:42 GMT; path=/; domain=.meetup.com; HttpOnly
32
+ X-Meetup-Server:
33
+ - api12.int.meetup.com
34
+ X-Meetup-Request-Id:
35
+ - f40aa1ba-be10-4c4c-84dc-788c80fbeff8
36
+ X-Oauth-Scopes:
37
+ - basic
38
+ X-Accepted-Oauth-Scopes:
39
+ - basic
40
+ Etag:
41
+ - W/"10776f82a09e2b17a382014d89f1686b"
42
+ Vary:
43
+ - Accept-Encoding,User-Agent
44
+ Server:
45
+ - cloudflare-nginx
46
+ Cf-Ray:
47
+ - 18c7c5e8ff3d0c3b-SEA
48
+ body:
49
+ encoding: ASCII-8BIT
50
+ string: !binary |-
51
+ eyJzdGF0dXMiOiJwYXN0IiwidmlzaWJpbGl0eSI6InB1YmxpYyIsIm1heWJl
52
+ X3JzdnBfY291bnQiOjAsInZlbnVlIjp7ImlkIjoxNjE0NjA3MiwibG9uIjot
53
+ MTIyLjMzNDUsInJlcGlubmVkIjpmYWxzZSwibmFtZSI6IkRpY2UgQ2FiYW5h
54
+ IGF0IFNVUkYiLCJhZGRyZXNzXzEiOiI4MjEgMm5kIEF2ZW51ZSAjNDEwIiwi
55
+ bGF0Ijo0Ny42MDQyMSwiY291bnRyeSI6IlVTIiwiY2l0eSI6IlNlYXR0bGUi
56
+ fSwiaWQiOiIxODcyODIyNDIiLCJ1dGNfb2Zmc2V0IjotMjUyMDAwMDAsImR1
57
+ cmF0aW9uIjoxMDgwMDAwMCwidGltZSI6MTQwNjY4MjAwMDAwMCwid2FpdGxp
58
+ c3RfY291bnQiOjAsInVwZGF0ZWQiOjE0MDY2OTM4NTYwMDAsInllc19yc3Zw
59
+ X2NvdW50Ijo3NiwiY3JlYXRlZCI6MTQwMTk1MzQ5NzAwMCwiZXZlbnRfdXJs
60
+ IjoiaHR0cDpcL1wvd3d3Lm1lZXR1cC5jb21cL1N0YXJ0dXAtR3JpbmQtU2Vh
61
+ dHRsZVwvZXZlbnRzXC8xODcyODIyNDJcLyIsImRlc2NyaXB0aW9uIjoiPHA+
62
+ PGI+PGEgaHJlZj1cImh0dHA6XC9cL3d3dy5ldmVudGJyaXRlLmNvbVwvZXZl
63
+ bnRcLzExODY3MTU3OTg5XCI+VEhJUyBJUyBBIFBBSUQgRVZFTlQgUFVSQ0hB
64
+ U0UgWU9VUiBUSUNLRVQgSEVSRTxcL2E+PFwvYj48XC9wPiA8cD48Yj5Sb2Jl
65
+ cnQgU2NvYmxlLCBUZWNoIEdlZWs8XC9iPiwgUmFja3NwYWNlPFwvcD4gPHA+
66
+ PGltZyBzcmM9XCJodHRwOlwvXC9zdGFydHVwZ3JpbmQuY29tXC93cC1jb250
67
+ ZW50XC91cGxvYWRzXC8yMDE0XC8wNlwvc2NvYmxlLnBuZ1wiIFwvPjxcL3A+
68
+ IDxwPkFzIFN0YXJ0dXAgTGlhaXNvbiBmb3IgUmFja3NwYWNlLCB0aGUgT3Bl
69
+ biBDbG91ZCBDb21wdXRpbmcgQ29tcGFueSwgU2NvYmxlIHRyYXZlbHMgdGhl
70
+ IHdvcmxkIGxvb2tpbmcgZm9yIHdoYXQncyBoYXBwZW5pbmcgb24gdGhlIGJs
71
+ ZWVkaW5nIGVkZ2Ugb2YgdGVjaG5vbG9neSBmb3IgUmFja3NwYWNlJ3Mgc3Rh
72
+ cnR1cCBwcm9ncmFtLiBIZSdzIGludGVydmlld2VkIHRob3VzYW5kcyBvZiBl
73
+ eGVjdXRpdmVzIGFuZCB0ZWNobm9sb2d5IGlubm92YXRvcnMgYW5kIHJlcG9y
74
+ dHMgd2hhdCBoZSBsZWFybnMgaW4gYm9va3MgKFwiVGhlIEFnZSBvZiBDb250
75
+ ZXh0LFwiIGEgYm9vayBjb2F1dGhvcmVkIHdpdGggRm9yYmVzIGF1dGhvciBT
76
+ aGVsIElzcmFlbCzCoGhhcyBiZWVuIHJlbGVhc2VkIGF0wqA8YSBocmVmPVwi
77
+ aHR0cDpcL1wvYW16bi50b1wvQWdlT2ZDb250ZXh0XCI+PGEgaHJlZj1cImh0
78
+ dHA6XC9cL2Ftem4udG9cL0FnZU9mQ29udGV4dFwiIGNsYXNzPVwibGlua2lm
79
+ aWVkXCI+aHR0cDpcL1wvYW16bi50b1wvQWdlT2ZDb250ZXh0PFwvYT48XC9h
80
+ PsKgKSwgWW91VHViZSwgYW5kIG1hbnkgc29jaWFsIG1lZGlhIHNpdGVzIHdo
81
+ ZXJlIGhlJ3MgZm9sbG93ZWQgYnkgbWlsbGlvbnPCoG9mIHBlb3BsZS48XC9w
82
+ PiA8cD5JJ20gYSBnZWVrIHdobyBncmV3IHVwIGluIFNpbGljb24gVmFsbGV5
83
+ IChteSBkYWQgd2FzIGFuIGVuZ2luZWVyIGF0IExvY2toZWVkKSBhbmQgc2lu
84
+ Y2UgMTk4NSBJJ3ZlIGJlZW4gYnVpbGRpbmcgb25saW5lIGNvbW11bml0aWVz
85
+ LiBJbiAyMDAwIEkgc3RhcnRlZCBteSB0ZWNobm9sb2d5IGJsb2cswqA8YSBo
86
+ cmVmPVwiaHR0cDpcL1wvc2NvYmxlaXplci5jb21cL1wiPjxhIGhyZWY9XCJo
87
+ dHRwOlwvXC9zY29ibGVpemVyLmNvbVwiIGNsYXNzPVwibGlua2lmaWVkXCI+
88
+ aHR0cDpcL1wvc2NvYmxlaXplci5jb208XC9hPjxcL2E+LCBhbmQgbXkgbGlm
89
+ ZSBoYXMgYmVlbiBvbiBhIHJvY2tldHNoaXAgZXZlciBzaW5jZS4gSW5bbWFz
90
+ a2VkXSBJIHdvcmtlZCBhdCBNaWNyb3NvZnQgYXMgYW4gZXZhbmdlbGlzdCBh
91
+ bmQgb25lIG9mIHRoZSBmaXZlIGd1eXMgd2hvIHN0YXJ0ZWQgTWljcm9zb2Z0
92
+ J3MgZmFtb3VzIENoYW5uZWw5IHZpZGVvIGNvbW11bml0eS48XC9wPiA8cD7C
93
+ oDxiclwvPkknbSBub3cgd29ya2luZyBhdCBSYWNrc3BhY2UgYXPCoFN0YXJ0
94
+ dXAgTGlhaXNvbiBPZmZpY2VyIChJIGdvIGFyb3VuZCB0aGUgd29ybGQgdG8g
95
+ c3R1ZHkgYW5kIG1ha2UgbWVkaWEgYWJvdXQgd29ybGQtY2hhbmdpbmcgc3Rh
96
+ cnR1cHMpLiBZb3UnbGwgYWxzbyBzZWUgbXkgdmlkZW9zIG9uwqA8YSBocmVm
97
+ PVwiaHR0cDpcL1wveW91dHViZS5jb21cL3Njb2JsZWl6ZXJcIj48YSBocmVm
98
+ PVwiaHR0cDpcL1wveW91dHViZS5jb21cL3Njb2JsZWl6ZXJcIiBjbGFzcz1c
99
+ ImVtYmVkZGVkXCI+aHR0cDpcL1wveW91dHViZS5jb21cL3Njb2JsZWl6ZXI8
100
+ XC9hPjxcL2E+wqBidXQgdGhlIGJlc3QgcGxhY2UgdG8gd2F0Y2ggbWUgbm93
101
+ IGlzIG9uwqA8YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5mYWNlYm9vay5jb21c
102
+ L1JvYmVydFNjb2JsZVwiPkZhY2Vib29rPFwvYT4swqA8YSBocmVmPVwiaHR0
103
+ cDpcL1wvdHdpdHRlci5jb21cL3Njb2JsZWl6ZXJcIj5vbiBUd2l0dGVyPFwv
104
+ YT7CoG9yIG9uwqA8YSBocmVmPVwiaHR0cDpcL1wvc2NvYmxlaXplci5jb21c
105
+ L1wiPm15IGJsb2c8XC9hPi4gT3VyIHByb2Zlc3Npb25hbCB2aWRlb3MsIGRv
106
+ bmUgaW4gc3R1ZGlvLCBhcmUgb27CoDxhIGhyZWY9XCJodHRwOlwvXC95b3V0
107
+ dWJlLmNvbVwvYnVpbGRpbmc0M1wiPlJhY2tzcGFjZSdzIFlvdVR1YmUgc2l0
108
+ ZTxcL2E+LjxcL3A+IDxwPkknbSBhbHNvIHRoZSBmYXRoZXIgb2YgdGhyZWUg
109
+ c29ucywgUGF0cmljaywgMjAsIE1pbGFuLCA2LCBhbmQgUnlhbiwgNCAoYXMg
110
+ b2YgMjAxNCkuIExvdHMgb2YgZnVuIGFuZCB0aGV5IGFyZSBhbGwgZ2Vla3Mg
111
+ aW4gdHJhaW5pbmcgdG9vLjxcL3A+IDxwPsKgPFwvcD4gPHA+wqA8XC9wPiA8
112
+ cD48Yj5BZ2VuZGE8XC9iPjxcL3A+IDxwPjxiPjY6MDA8XC9iPiBOZXR3b3Jr
113
+ aW5nIGFuZCBGb29kPGJyXC8+PGI+NzowMDxcL2I+IEZpcmVzaWRlIENoYXQ8
114
+ YnJcLz48Yj44OjAwPFwvYj4gTmV0d29ya2luZzxcL3A+IDxwPsKgPFwvcD4g
115
+ PHA+SG9zdGVkIEJ5IDxiPk1pa2UgR3JhYmhhbTxcL2I+LCBTZWF0dGxlIENo
116
+ YXB0ZXIgRGlyZWN0b3I8XC9wPiA8cD48aW1nIHNyYz1cImh0dHA6XC9cL3N0
117
+ YXJ0dXBncmluZC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMTNcLzAy
118
+ XC9NaWtlLUdyYWJoYW1fYXZhdGFyXzEtOTZ4OTYuanBnXCIgXC8+PFwvcD4g
119
+ PHA+TWljaGFlbCBpcyBvcHRpbWlzdGljLCBnZW51aW5lIGFuZCBhIHByb2Js
120
+ ZW0gc29sdmVyLiBIZSBpcyBhIHByb2R1Y3QgZ3V5IHRoYXQgZm9jdXNlcyBv
121
+ biB1c2VzIGFuZCDCoHJldmVudWUuwqBIZSBsb3ZlcyBzdGFydGluZyBjb21w
122
+ YW5pZXMgYW5kIGVuam95cyB0aGUgY29sbGFib3JhdGlvbiB3aXRoIHNtYXJ0
123
+ IHBlb3BsZSB0byBmaWd1cmUgb3V0IGhvdyB0byBjcmVhdGUgdmFsdWUgZm9y
124
+ IGEgY3VzdG9tZXIuIEhlIGhhcyBiZWVuIGx1Y2t5IGVub3VnaCB0byBzdGFy
125
+ dCBhIGZldyBjb21wYW5pZXMsIHJhaXNlIGNhcGl0YWwgYW5kIHNlZSB0aGUg
126
+ aGFyZCB3b3JrIHBheW9mZi4gTWljaGFlbCBlbmpveXMgdGhlIGV4cGVyaWVu
127
+ Y2VzIHlvdSBtdXN0IGdvIHRocm91Z2ggdG8gZ2V0IGEgY29tcGFueSBpbnRv
128
+ IGEgZ3Jvd3RoIG1vZGUgYW5kIHNlZSBpdHMgZmlyc3Qgc2VydmljZVwvcHJv
129
+ ZHVjdCBjcmVhdGUgcmV2ZW51ZS4gwqBDdXJyZW50bHkgaGUgaXMgd29ya2lu
130
+ ZyBvbiBhbiBwbGF0Zm9ybSB0byBoZWxwIHRoZSBob21lbGVzcyBpbiB0aGUg
131
+ VVMsIHRoYXQgaGFzIHlldCB0byBiZSByZWxlYXNlZCB0byB0aGUgcHVibGlj
132
+ IGFuZCBoZSBpcyBsb29raW5nIGZvciBhIG5ldyBzdGFydHVwIHRvIGpvaW4g
133
+ YW5kIGhlbHAgZ3JvdyBvciBnZXQgdG8gbWFya2V0LsKgIFlvdSBjYW4gdmlz
134
+ aXQgaGlzIGJsb2cgYXQgPGEgaHJlZj1cImh0dHA6XC9cL3d3dy5taWNoYWVs
135
+ Z3JhYmhhbS5jb21cIj5taWNoYWVsZ3JhYmhhbS5jb208XC9hPiBvciBmb2xs
136
+ b3cgaGltIG9uIHR3aXR0ZXIgQGdyYWJtaWtlPGJyXC8+RW1haWw6IDxhIGhy
137
+ ZWY9XCJtYWlsdG86W21hc2tlZF1cIj5bbWFza2VkXTxcL2E+IHwgVHdpdHRl
138
+ cjogPGEgaHJlZj1cImh0dHA6XC9cL3d3dy5nb29nbGUuY29tXC9lbnRyZXBy
139
+ ZW5ldXJzXC9cIj48aW1nIHNyYz1cImh0dHA6XC9cL3N0YXJ0dXBncmluZC5j
140
+ b21cL21lZGlhXC9pbWFnZXNcL3Nwb25zb3JzXC80M1wvU0dFR05pcUFEalht
141
+ Q0U9XC9Hb29nbGUtZm9yLUVudHJlcHJlbmV1cnMucG5nXCIgXC8+PFwvYT4g
142
+ R29vZ2xlIGlzIGNvbW1pdHRlZCB0byBlbXBvd2VyaW5nIGVudHJlcHJlbmV1
143
+ cnMgYXJvdW5kIHRoZSB3b3JsZCB0aHJvdWdoIHByb2dyYW1zLCBwYXJ0bmVy
144
+ c2hpcHMsIGFuZCBvdXIgcHJvZHVjdHMuPFwvcD4gPHA+wqA8XC9wPiA8cD48
145
+ Yj5Mb2NhbCBQYXJ0bmVyczxcL2I+PFwvcD4gPHA+PGEgaHJlZj1cImh0dHA6
146
+ XC9cL3d3dy5zZWVkaXAuY29tXCI+PGltZyBzcmM9XCJodHRwOlwvXC9zdGFy
147
+ dHVwZ3JpbmQuY29tXC9tZWRpYVwvaW1hZ2VzXC9zcG9uc29yc1wvMTNcL1NH
148
+ RUdOaXFBRGpYbUNFPVwvU2VlZC1JUC5wbmdcIiBcLz48XC9hPiBJUCBsYXcg
149
+ ZnJvbSBzb21lIG9mIHRoZSBiZXN0IG1pbmRzIGluIFNlYXR0bGUuPFwvcD4g
150
+ PHA+PGEgaHJlZj1cImh0dHA6XC9cL3d3dy5zdXJmaW5jdWJhdG9yLmNvbVwi
151
+ PjxpbWcgc3JjPVwiaHR0cDpcL1wvc3RhcnR1cGdyaW5kLmNvbVwvbWVkaWFc
152
+ L2ltYWdlc1wvc3BvbnNvcnNcLzE0XC9TR0VHTmlxQURqWG1DRT1cL1NVUkYt
153
+ SW5jdWJhdG9yLnBuZ1wiIFwvPjxcL2E+IFN0YXJ0aW5nIGEgY29tcGFueT8g
154
+ U3RhcnQgaXQgYXQgU1VSRjxcL3A+IDxwPjxhIGhyZWY9XCJodHRwOlwvXC9n
155
+ cmFzc2hvcHBlci5jb21cL3N0YXJ0dXBncmluZGJcIj48aW1nIHNyYz1cImh0
156
+ dHA6XC9cL3N0YXJ0dXBncmluZC5jb21cL21lZGlhXC9pbWFnZXNcL3Nwb25z
157
+ b3JzXC82MjNcL1NHRUdOaXFBRGpYbUNFPVwvR3Jhc3Nob3BwZXItQi5wbmdc
158
+ IiBcLz48XC9hPiBUdXJuIHRoZSB3b3JsZCBpbnRvIHlvdXIgb2ZmaWNlIHdp
159
+ dGggR3Jhc3Nob3BwZXIsIHRoZSBlbnRyZXByZW5ldXLigJlzIHBob25lIHN5
160
+ c3RlbSB0cnVzdGVkIGJ5IG92ZXIgMTUwLDAwMCBjdXN0b21lcnMuIFdpdGgg
161
+ YSB0b2xsIGZyZWUgb3IgbG9jYWwgbnVtYmVyIGFuZCBmZWF0dXJlcyBsaWtl
162
+ IHVubGltaXRlZCBleHRlbnNpb25zLCBwcm9mZXNzaW9uYWwgZ3JlZXRpbmdz
163
+ LCB2b2ljZW1haWwgdmlhIGVtYWlsIGFuZCBhIGRpYWwgYnkgbmFtZSBkaXJl
164
+ Y3RvcnksIEdyYXNzaG9wcGVyIGhlbHBzIHlvdXIgc21hbGwgYnVzaW5lc3Mg
165
+ c291bmQgcHJvZmVzc2lvbmFsIGFuZCBzdGF5IGNvbm5lY3RlZCBmcm9tIGFu
166
+ eXdoZXJlLjxcL3A+IDxwPsKgPFwvcD4gPHA+VXBjb21pbmcgZXZlbnRzIHlv
167
+ dSBzaG91bGQgYXR0ZW5kITxcL3A+IDxwPjxhIGhyZWY9XCJodHRwOlwvXC93
168
+ d3cuZXZlbnRicml0ZS5jb21cL2V2ZW50XC8xMTUyODg2MDEzMVwiPjxpbWcg
169
+ c3JjPVwiaHR0cDpcL1wvc3RhcnR1cGdyaW5kLmNvbVwvbWVkaWFcL2ltYWdl
170
+ c1wvc3BlYWtlcnNcLzY3MTA4XC9TR0VTU0dwbHVzZG5sRnFmUTBzUXVLU0dw
171
+ bHVzcXRUV3NKaTJ4STBtMFV2YTdxaUVmMDFJT2w3UnZ0aU1vUDI2Z0JRPT1c
172
+ L0p1bGllLVNhbmRsZXIuanBnXCIgXC8+PFwvYT4gU2VhdHRsZSBob3N0cyA8
173
+ YSBocmVmPVwiaHR0cDpcL1wvd3d3LmV2ZW50YnJpdGUuY29tXC9ldmVudFwv
174
+ MTE1Mjg4NjAxMzFcIj48Yj5KdWxpZSBTYW5kbGVyPFwvYj48XC9hPiA8YSBo
175
+ cmVmPVwiaHR0cDpcL1wvd3d3LmV2ZW50YnJpdGUuY29tXC9ldmVudFwvMTE1
176
+ Mjg4NjAxMzFcIj5QcmluY2lwYWwgTWFkcm9uYSBWZW50dXJlPFwvYT4gPGEg
177
+ aHJlZj1cImh0dHA6XC9cL3d3dy5ldmVudGJyaXRlLmNvbVwvZXZlbnRcLzEx
178
+ NTI4ODYwMTMxXCI+PGI+MzB0aCBvZiBTZXB0ZW1iZXIgMjAxNDxcL2I+PFwv
179
+ YT48XC9wPiA8cD48aW1nIHNyYz1cImh0dHA6XC9cL3N0YXJ0dXBncmluZC5j
180
+ b21cL3NndHJhY2tlclwvbXVldmVudF85MzYuZ2lmXCIgXC8+IMKgPFwvcD4g
181
+ PHA+V2hhdCBpcyA8Yj5TdGFydHVwIEdyaW5kPFwvYj4/PFwvcD4gPHA+U3Rh
182
+ cnR1cCBHcmluZCBpcyBhIGdsb2JhbCBzdGFydHVwIGNvbW11bml0eSBkZXNp
183
+ Z25lZCB0byBlZHVjYXRlLCBpbnNwaXJlLCBhbmQgY29ubmVjdCBlbnRyZXBy
184
+ ZW5ldXJzLiBXZSBob3N0IG1vbnRobHkgZXZlbnRzIGluIG1vcmUgdGhhbiAx
185
+ MDAgY2l0aWVzIGFuZCA0MiBjb3VudHJpZXMgZmVhdHVyaW5nIHN1Y2Nlc3Nm
186
+ dWwgbG9jYWwgZm91bmRlcnMsIGlubm92YXRvcnMsIGVkdWNhdG9ycyBhbmQg
187
+ aW52ZXN0b3JzIHdobyBzaGFyZSBwZXJzb25hbCBzdG9yaWVzIGFuZCBsZXNz
188
+ b25zIGxlYXJuZWQgb24gdGhlIHJvYWQgdG8gYnVpbGRpbmcgZ3JlYXQgY29t
189
+ cGFuaWVzLiBPdXIgbW9udGhseSBmaXJlc2lkZSBjaGF0IGludGVydmlld3Ms
190
+ IHN0YXJ0dXAgbWl4ZXJzIGFuZCBhbm51YWwgY29uZmVyZW5jZXMgcHJvdmlk
191
+ ZSBhbXBsZSBvcHBvcnR1bml0aWVzIHRvIGNvbm5lY3Qgd2l0aCBhbWF6aW5n
192
+ IHN0YXJ0dXBzIGFuZCB0aGUgcGVvcGxlIGJlaGluZCB0aGVtLCB0YXAgaW50
193
+ byBhIHN0cm9uZyBzdXBwb3J0IG5ldHdvcmssIGZvcm0gbWVhbmluZ2Z1bCBj
194
+ b25uZWN0aW9ucyBhbmQgZ2FpbiBpbnNwaXJhdGlvbiBmb3IgdGhlIHN0YXJ0
195
+ dXAgam91cm5leSBhaGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gdmlzaXQg
196
+ PGEgaHJlZj1cImh0dHA6XC9cL3N0YXJ0dXBncmluZC5jb21cIj5TdGFydHVw
197
+ R3JpbmQuY29tPFwvYT4gb3IgZm9sbG93IHVzIG9uIHR3aXR0ZXIgPGEgaHJl
198
+ Zj1cImh0dHA6XC9cL3R3aXR0ZXIuY29tXC9TdGFydHVwR3JpbmRcIj5AU3Rh
199
+ cnR1cEdyaW5kPFwvYT4uPFwvcD4iLCJuYW1lIjoiU3RhcnR1cCBHcmluZCBT
200
+ ZWF0dGxlIEhvc3RzIFJvYmVydCBTY29ibGUsIFRlY2ggR2VlayAoUmFja3Nw
201
+ YWNlKSIsImhlYWRjb3VudCI6MCwicmF0aW5nIjp7ImNvdW50IjowLCJhdmVy
202
+ YWdlIjowfSwiZ3JvdXAiOnsiaWQiOjQyNDk5MzIsImNyZWF0ZWQiOjEzNDE2
203
+ NDA1ODYwMDAsImdyb3VwX2xhdCI6NDcuNjY5OTk4MTY4OTQ1MzEsIm5hbWUi
204
+ OiJTdGFydHVwIEdyaW5kIFNlYXR0bGUiLCJncm91cF9sb24iOi0xMjIuMzM5
205
+ OTk2MzM3ODkwNjIsImpvaW5fbW9kZSI6Im9wZW4iLCJ1cmxuYW1lIjoiU3Rh
206
+ cnR1cC1HcmluZC1TZWF0dGxlIiwid2hvIjoiRW50cmVwcmVuZXVycyJ9fQo=
207
+ http_version:
208
+ recorded_at: Thu, 20 Nov 2014 21:34:42 GMT
209
+ recorded_with: VCR 2.9.3