yelp-fusion 0.1.pre.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +210 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +8 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +180 -0
  9. data/Rakefile +9 -0
  10. data/Test::vcr_casettes/business.yml +75 -0
  11. data/Test::vcr_casettes/match.yml +61 -0
  12. data/Test::vcr_casettes/phone.yml +65 -0
  13. data/Test::vcr_casettes/review.yml +72 -0
  14. data/Test::vcr_casettes/search.yml +263 -0
  15. data/Test::vcr_casettes/search_by_coordinates.yml +57 -0
  16. data/Test::vcr_casettes/transaction.yml +254 -0
  17. data/Test::vcr_casettes/transaction_by_coordinates.yml +56 -0
  18. data/bin/console +14 -0
  19. data/bin/setup +8 -0
  20. data/lib/yelp/fusion.rb +36 -0
  21. data/lib/yelp/fusion/client.rb +86 -0
  22. data/lib/yelp/fusion/configuration.rb +37 -0
  23. data/lib/yelp/fusion/endpoint/business.rb +70 -0
  24. data/lib/yelp/fusion/endpoint/match.rb +64 -0
  25. data/lib/yelp/fusion/endpoint/phone.rb +71 -0
  26. data/lib/yelp/fusion/endpoint/review.rb +72 -0
  27. data/lib/yelp/fusion/endpoint/search.rb +104 -0
  28. data/lib/yelp/fusion/endpoint/transaction.rb +97 -0
  29. data/lib/yelp/fusion/error.rb +105 -0
  30. data/lib/yelp/fusion/responses/base.rb +43 -0
  31. data/lib/yelp/fusion/responses/business.rb +36 -0
  32. data/lib/yelp/fusion/responses/match.rb +36 -0
  33. data/lib/yelp/fusion/responses/models/business.rb +48 -0
  34. data/lib/yelp/fusion/responses/models/categories.rb +34 -0
  35. data/lib/yelp/fusion/responses/models/center.rb +34 -0
  36. data/lib/yelp/fusion/responses/models/hours.rb +38 -0
  37. data/lib/yelp/fusion/responses/models/location.rb +36 -0
  38. data/lib/yelp/fusion/responses/models/openHours.rb +34 -0
  39. data/lib/yelp/fusion/responses/models/region.rb +38 -0
  40. data/lib/yelp/fusion/responses/models/reviews.rb +38 -0
  41. data/lib/yelp/fusion/responses/models/user.rb +36 -0
  42. data/lib/yelp/fusion/responses/phone.rb +36 -0
  43. data/lib/yelp/fusion/responses/review.rb +36 -0
  44. data/lib/yelp/fusion/responses/search.rb +38 -0
  45. data/lib/yelp/fusion/responses/transaction.rb +36 -0
  46. data/lib/yelp/fusion/version.rb +25 -0
  47. data/yelp-fusion.gemspec +44 -0
  48. metadata +192 -0
@@ -0,0 +1,9 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ task default: :spec
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.libs << 'test'
8
+ t.pattern = 'test/*_test.rb'
9
+ end
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yelp.com/v3/businesses/lJAGnYzku5zSaLnQ_T6_GQ
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Authorization:
13
+ - Bearer
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
+ Server:
24
+ - nginx
25
+ Content-Type:
26
+ - application/json
27
+ Ratelimit-Dailylimit:
28
+ - '5000'
29
+ Ratelimit-Remaining:
30
+ - '4999'
31
+ Ratelimit-Resettime:
32
+ - '2018-06-21T00:00:00+00:00'
33
+ X-Proxied:
34
+ - 10-65-132-129-useast1bprod
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Accept-Ranges:
38
+ - bytes
39
+ Date:
40
+ - Wed, 20 Jun 2018 19:04:25 GMT
41
+ Via:
42
+ - 1.1 varnish
43
+ Connection:
44
+ - keep-alive
45
+ X-Served-By:
46
+ - cache-bos8226-BOS
47
+ X-Cache:
48
+ - MISS
49
+ X-Cache-Hits:
50
+ - '0'
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: '{"id": "lJAGnYzku5zSaLnQ_T6_GQ", "alias": "brendas-french-soul-food-san-francisco",
54
+ "name": "Brenda''s French Soul Food", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/YT8ho02lCT6Ubu3vx8uCaw/o.jpg",
55
+ "is_claimed": true, "is_closed": false, "url": "https://www.yelp.com/biz/brendas-french-soul-food-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_lookup&utm_source=-pz45lFH4aD0aS0s94dStQ",
56
+ "phone": "+14153458100", "display_phone": "(415) 345-8100", "review_count":
57
+ 9241, "categories": [{"alias": "breakfast_brunch", "title": "Breakfast & Brunch"},
58
+ {"alias": "french", "title": "French"}, {"alias": "soulfood", "title": "Soul
59
+ Food"}], "rating": 4.0, "location": {"address1": "652 Polk St", "address2":
60
+ "Pulled Polk", "address3": "Pulked Pork", "city": "San Francisco", "zip_code": "94102", "country":
61
+ "US", "state": "CA", "display_address": ["652 Polk St", "San Francisco, CA
62
+ 94102"], "cross_streets": "Turk St & Eddy St"}, "coordinates": {"latitude":
63
+ 37.7829016035273, "longitude": -122.419043442957}, "photos": ["https://s3-media1.fl.yelpcdn.com/bphoto/YT8ho02lCT6Ubu3vx8uCaw/o.jpg",
64
+ "https://s3-media1.fl.yelpcdn.com/bphoto/xKxc44zPdqU2xjan1PtOlQ/o.jpg", "https://s3-media4.fl.yelpcdn.com/bphoto/dG9IHIWb-CKg_nx_KnLFgQ/o.jpg"],
65
+ "price": "$$", "hours": [{"open": [{"is_overnight": false, "start": "0800",
66
+ "end": "1500", "day": 0}, {"is_overnight": false, "start": "0800", "end":
67
+ "1500", "day": 1}, {"is_overnight": false, "start": "0800", "end": "2200",
68
+ "day": 2}, {"is_overnight": false, "start": "0800", "end": "2200", "day":
69
+ 3}, {"is_overnight": false, "start": "0800", "end": "2200", "day": 4}, {"is_overnight":
70
+ false, "start": "0800", "end": "2200", "day": 5}, {"is_overnight": false,
71
+ "start": "0800", "end": "2000", "day": 6}], "hours_type": "REGULAR", "is_open_now":
72
+ true}], "transactions": []}'
73
+ http_version:
74
+ recorded_at: Wed, 20 Jun 2018 19:04:25 GMT
75
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yelp.com/v3/businesses/matches?address1=168%20Western%20Ave&city=allston&country=US&name=swissbakers&state=MA
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Authorization:
13
+ - Bearer
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
+ Server:
24
+ - nginx
25
+ Content-Type:
26
+ - application/json
27
+ Ratelimit-Dailylimit:
28
+ - '5000'
29
+ Ratelimit-Remaining:
30
+ - '4996'
31
+ Ratelimit-Resettime:
32
+ - '2018-06-22T00:00:00+00:00'
33
+ X-Proxied:
34
+ - 10-65-132-129-useast1bprod
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Accept-Ranges:
38
+ - bytes
39
+ Date:
40
+ - Thu, 21 Jun 2018 20:49:37 GMT
41
+ Via:
42
+ - 1.1 varnish
43
+ Connection:
44
+ - keep-alive
45
+ X-Served-By:
46
+ - cache-iad2125-IAD
47
+ X-Cache:
48
+ - MISS
49
+ X-Cache-Hits:
50
+ - '0'
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: '{"businesses": [{"id": "PxFqG5KG4Uzp48KOipAXOg", "alias": "swissb\u00e4kers-allston",
54
+ "name": "Swissb\u00e4kers", "coordinates": {"latitude": 42.3631904, "longitude":
55
+ -71.1284677}, "location": {"address1": "168 Western Ave", "address2": "1234",
56
+ "address3": "5678", "city": "Allston", "zip_code": "02134", "country": "US", "state":
57
+ "MA", "display_address": ["168 Western Ave", "Allston, MA 02134"]}, "phone":
58
+ "+16179033113", "display_phone": "(617) 903-3113"}]}'
59
+ http_version:
60
+ recorded_at: Thu, 21 Jun 2018 20:49:37 GMT
61
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,65 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yelp.com/v3/businesses/search/phone?phone=%2B14159083801
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Authorization:
13
+ - Bearer
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
+ Server:
24
+ - nginx
25
+ Content-Type:
26
+ - application/json
27
+ Ratelimit-Dailylimit:
28
+ - '5000'
29
+ Ratelimit-Remaining:
30
+ - '4999'
31
+ Ratelimit-Resettime:
32
+ - '2018-06-27T00:00:00+00:00'
33
+ X-Proxied:
34
+ - 10-65-188-246-useast1bprod
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Accept-Ranges:
38
+ - bytes
39
+ Date:
40
+ - Tue, 26 Jun 2018 15:33:23 GMT
41
+ Via:
42
+ - 1.1 varnish
43
+ Connection:
44
+ - keep-alive
45
+ X-Served-By:
46
+ - cache-iad2138-IAD
47
+ X-Cache:
48
+ - MISS
49
+ X-Cache-Hits:
50
+ - '0'
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: '{"businesses": [{"id": "4kMBvIEWPxWkWKFN__8SxQ", "alias": "yelp-san-francisco",
54
+ "name": "Yelp", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/nQK-6_vZMt5n88zsAS94ew/o.jpg",
55
+ "is_closed": false, "url": "https://www.yelp.com/biz/yelp-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_phone_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
56
+ "review_count": 8353, "categories": [{"alias": "massmedia", "title": "Mass
57
+ Media"}], "rating": 2.0, "coordinates": {"latitude": 37.7867703362929, "longitude":
58
+ -122.399958372115}, "transactions": [], "location": {"address1": "140 New
59
+ Montgomery St", "address2": "1234", "address3": "5678", "city": "San Francisco", "zip_code":
60
+ "94105", "country": "US", "state": "CA", "display_address": ["140 New Montgomery
61
+ St", "San Francisco, CA 94105"]}, "phone": "+14159083801", "display_phone":
62
+ "(415) 908-3801"}], "total": 1}'
63
+ http_version:
64
+ recorded_at: Tue, 26 Jun 2018 15:33:23 GMT
65
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yelp.com/v3/businesses/lJAGnYzku5zSaLnQ_T6_GQ/reviews
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Authorization:
13
+ - Bearer
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
+ Server:
24
+ - nginx
25
+ Content-Type:
26
+ - application/json
27
+ Ratelimit-Dailylimit:
28
+ - '5000'
29
+ Ratelimit-Remaining:
30
+ - '4999'
31
+ Ratelimit-Resettime:
32
+ - '2018-06-23T00:00:00+00:00'
33
+ X-Proxied:
34
+ - 10-65-81-72-useast1aprod
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Accept-Ranges:
38
+ - bytes
39
+ Date:
40
+ - Fri, 22 Jun 2018 15:13:59 GMT
41
+ Via:
42
+ - 1.1 varnish
43
+ Connection:
44
+ - keep-alive
45
+ X-Served-By:
46
+ - cache-iad2144-IAD
47
+ X-Cache:
48
+ - MISS
49
+ X-Cache-Hits:
50
+ - '0'
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: '{"reviews": [{"id": "LLY9bAET7uw_hLa3q7rB3A", "url": "https://www.yelp.com/biz/brendas-french-soul-food-san-francisco?hrid=LLY9bAET7uw_hLa3q7rB3A&adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_reviews&utm_source=-pz45lFH4aD0aS0s94dStQ",
54
+ "text": "Fried chicken is a phenomenon.\nI am super happy I ended up here,
55
+ in this restaurant, with these excellent team and managers.\nLove the atmosphere
56
+ and...", "rating": 5, "time_created": "2018-06-21 22:25:51", "user": {"image_url":
57
+ "https://s3-media2.fl.yelpcdn.com/photo/JlL2dki0oyQmPmakrOYUQg/o.jpg", "name":
58
+ "Roxana A."}}, {"id": "NckXirtkEwzbGbSCTx1hFg", "url": "https://www.yelp.com/biz/brendas-french-soul-food-san-francisco?hrid=NckXirtkEwzbGbSCTx1hFg&adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_reviews&utm_source=-pz45lFH4aD0aS0s94dStQ",
59
+ "text": "This was always my go-to restaurant until today, the last time I
60
+ will venture there. I brought a newbie with me in hopes to have the amazing
61
+ service and...", "rating": 2, "time_created": "2018-06-20 02:19:50", "user":
62
+ {"image_url": "https://s3-media3.fl.yelpcdn.com/photo/chJZtitFb-sAQJPz5Htbyw/o.jpg",
63
+ "name": "David B."}}, {"id": "Bf28dDv1oNuih-4VAUtmwg", "url": "https://www.yelp.com/biz/brendas-french-soul-food-san-francisco?hrid=Bf28dDv1oNuih-4VAUtmwg&adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_reviews&utm_source=-pz45lFH4aD0aS0s94dStQ",
64
+ "text": "Last Monday, we had Brenda''s catering service provide food for our
65
+ office event. Here is what we found that may help you.\n\nThey failed to deliver
66
+ all items...", "rating": 3, "time_created": "2018-06-19 20:46:33", "user":
67
+ {"image_url": "https://s3-media3.fl.yelpcdn.com/photo/FMGTTdWVv1_m50wvORoNpQ/o.jpg",
68
+ "name": "Katy F."}}], "total": 9247, "possible_languages": ["fr", "en", "zh",
69
+ "de", "sv", "da", "es"]}'
70
+ http_version:
71
+ recorded_at: Fri, 22 Jun 2018 15:14:01 GMT
72
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,263 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.yelp.com/v3/businesses/search?location=San%20Francisco
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Authorization:
13
+ - Bearer
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
+ Server:
24
+ - nginx
25
+ Content-Type:
26
+ - application/json
27
+ Ratelimit-Dailylimit:
28
+ - '5000'
29
+ Ratelimit-Remaining:
30
+ - '4992'
31
+ Ratelimit-Resettime:
32
+ - '2018-06-15T00:00:00+00:00'
33
+ X-Proxied:
34
+ - 10-65-123-187-useast1aprod
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Accept-Ranges:
38
+ - bytes
39
+ Date:
40
+ - Thu, 14 Jun 2018 19:55:46 GMT
41
+ Via:
42
+ - 1.1 varnish
43
+ Connection:
44
+ - keep-alive
45
+ X-Served-By:
46
+ - cache-bos8224-BOS
47
+ X-Cache:
48
+ - MISS
49
+ X-Cache-Hits:
50
+ - '0'
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: '{"businesses": [{"id": "lJAGnYzku5zSaLnQ_T6_GQ", "alias": "brendas-french-soul-food-san-francisco",
54
+ "name": "Brenda''s French Soul Food", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/YT8ho02lCT6Ubu3vx8uCaw/o.jpg",
55
+ "is_closed": false, "url": "https://www.yelp.com/biz/brendas-french-soul-food-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
56
+ "review_count": 9213, "categories": [{"alias": "breakfast_brunch", "title":
57
+ "Breakfast & Brunch"}, {"alias": "french", "title": "French"}, {"alias": "soulfood",
58
+ "title": "Soul Food"}], "rating": 4.0, "coordinates": {"latitude": 37.7829016035273,
59
+ "longitude": -122.419043442957}, "transactions": [], "price": "$$", "location":
60
+ {"address1": "652 Polk St", "address2": "1234", "address3": "5678", "city": "San Francisco",
61
+ "zip_code": "94102", "country": "US", "state": "CA", "display_address": ["652
62
+ Polk St", "San Francisco, CA 94102"]}, "phone": "+14153458100", "display_phone":
63
+ "(415) 345-8100", "distance": 2885.38913097158}, {"id": "WavvLdfdP6g8aZTtbBQHTw",
64
+ "alias": "gary-danko-san-francisco", "name": "Gary Danko", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/NCX50ST3Hjg7y8wTcwQXog/o.jpg",
65
+ "is_closed": false, "url": "https://www.yelp.com/biz/gary-danko-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
66
+ "review_count": 4788, "categories": [{"alias": "newamerican", "title": "American
67
+ (New)"}, {"alias": "french", "title": "French"}, {"alias": "wine_bars", "title":
68
+ "Wine Bars"}], "rating": 4.5, "coordinates": {"latitude": 37.80587, "longitude":
69
+ -122.42058}, "transactions": [], "price": "$$$$", "location": {"address1":
70
+ "800 N Point St", "address2": "", "address3": "", "city": "San Francisco",
71
+ "zip_code": "94109", "country": "US", "state": "CA", "display_address": ["800
72
+ N Point St", "San Francisco, CA 94109"]}, "phone": "+14157492060", "display_phone":
73
+ "(415) 749-2060", "distance": 5191.341803207417}, {"id": "ri7UUYmx21AgSpRsf4-9QA",
74
+ "alias": "tartine-bakery-and-cafe-san-francisco", "name": "Tartine Bakery
75
+ & Cafe", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/vTLu8G86IqIazm7BRqIH4g/o.jpg",
76
+ "is_closed": false, "url": "https://www.yelp.com/biz/tartine-bakery-and-cafe-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
77
+ "review_count": 7183, "categories": [{"alias": "bakeries", "title": "Bakeries"},
78
+ {"alias": "cafes", "title": "Cafes"}, {"alias": "desserts", "title": "Desserts"}],
79
+ "rating": 4.0, "coordinates": {"latitude": 37.7614250022004, "longitude":
80
+ -122.424051321456}, "transactions": [], "price": "$$", "location": {"address1":
81
+ "600 Guerrero St", "address2": "", "address3": "", "city": "San Francisco",
82
+ "zip_code": "94110", "country": "US", "state": "CA", "display_address": ["600
83
+ Guerrero St", "San Francisco, CA 94110"]}, "phone": "+14154872600", "display_phone":
84
+ "(415) 487-2600", "distance": 1091.249585562033}, {"id": "oT08T3Vpn1I7jDmrBBRMTw",
85
+ "alias": "house-of-prime-rib-san-francisco", "name": "House of Prime Rib",
86
+ "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/HLrjaMoAgYSac0vx71YpCA/o.jpg",
87
+ "is_closed": false, "url": "https://www.yelp.com/biz/house-of-prime-rib-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
88
+ "review_count": 6299, "categories": [{"alias": "tradamerican", "title": "American
89
+ (Traditional)"}, {"alias": "steak", "title": "Steakhouses"}, {"alias": "wine_bars",
90
+ "title": "Wine Bars"}], "rating": 4.0, "coordinates": {"latitude": 37.79338,
91
+ "longitude": -122.4225}, "transactions": [], "price": "$$$", "location": {"address1":
92
+ "1906 Van Ness Ave", "address2": "", "address3": "", "city": "San Francisco",
93
+ "zip_code": "94109", "country": "US", "state": "CA", "display_address": ["1906
94
+ Van Ness Ave", "San Francisco, CA 94109"]}, "phone": "+14158854605", "display_phone":
95
+ "(415) 885-4605", "distance": 3819.642257655711}, {"id": "Xg-FyjVKAN70LO4u4Z1ozg",
96
+ "alias": "hog-island-oyster-co-san-francisco", "name": "Hog Island Oyster
97
+ Co", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/sSxgesuVoFD1_5w6FOoouQ/o.jpg",
98
+ "is_closed": false, "url": "https://www.yelp.com/biz/hog-island-oyster-co-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
99
+ "review_count": 5057, "categories": [{"alias": "seafood", "title": "Seafood"},
100
+ {"alias": "seafoodmarkets", "title": "Seafood Markets"}, {"alias": "raw_food",
101
+ "title": "Live/Raw Food"}], "rating": 4.5, "coordinates": {"latitude": 37.795831,
102
+ "longitude": -122.393303}, "transactions": [], "price": "$$", "location":
103
+ {"address1": "1 Ferry Bldg", "address2": "", "address3": "Shop 11", "city":
104
+ "San Francisco", "zip_code": "94111", "country": "US", "state": "CA", "display_address":
105
+ ["1 Ferry Bldg", "Shop 11", "San Francisco, CA 94111"]}, "phone": "+14153917117",
106
+ "display_phone": "(415) 391-7117", "distance": 5428.15670676801}, {"id": "eYXwVR4mMAjzkJnm5wneHQ",
107
+ "alias": "burma-superstar-san-francisco-2", "name": "Burma Superstar", "image_url":
108
+ "https://s3-media3.fl.yelpcdn.com/bphoto/UaR8ZJlXHHWO3t-47tp0jg/o.jpg", "is_closed":
109
+ false, "url": "https://www.yelp.com/biz/burma-superstar-san-francisco-2?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
110
+ "review_count": 6108, "categories": [{"alias": "burmese", "title": "Burmese"}],
111
+ "rating": 4.0, "coordinates": {"latitude": 37.782787322998, "longitude": -122.462539672852},
112
+ "transactions": [], "price": "$$", "location": {"address1": "309 Clement St",
113
+ "address2": "", "address3": "", "city": "San Francisco", "zip_code": "94118",
114
+ "country": "US", "state": "CA", "display_address": ["309 Clement St", "San
115
+ Francisco, CA 94118"]}, "phone": "+14153872147", "display_phone": "(415) 387-2147",
116
+ "distance": 3346.3513929682595}, {"id": "PsY5DMHxa5iNX_nX0T-qPA", "alias":
117
+ "kokkari-estiatorio-san-francisco", "name": "Kokkari Estiatorio", "image_url":
118
+ "https://s3-media2.fl.yelpcdn.com/bphoto/hL5JQzUDA06eqvmUtdUqZA/o.jpg", "is_closed":
119
+ false, "url": "https://www.yelp.com/biz/kokkari-estiatorio-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
120
+ "review_count": 4050, "categories": [{"alias": "greek", "title": "Greek"},
121
+ {"alias": "mediterranean", "title": "Mediterranean"}], "rating": 4.5, "coordinates":
122
+ {"latitude": 37.796996, "longitude": -122.399661}, "transactions": [], "price":
123
+ "$$$", "location": {"address1": "200 Jackson St", "address2": "", "address3":
124
+ "", "city": "San Francisco", "zip_code": "94111", "country": "US", "state":
125
+ "CA", "display_address": ["200 Jackson St", "San Francisco, CA 94111"]}, "phone":
126
+ "+14159810983", "display_phone": "(415) 981-0983", "distance": 5153.879756630951},
127
+ {"id": "ZoZjbOYR-apY8XvommlNUA", "alias": "the-house-san-francisco", "name":
128
+ "The House", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/K48sSeIuHURatMBrSTfOTg/o.jpg",
129
+ "is_closed": false, "url": "https://www.yelp.com/biz/the-house-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
130
+ "review_count": 4289, "categories": [{"alias": "asianfusion", "title": "Asian
131
+ Fusion"}], "rating": 4.5, "coordinates": {"latitude": 37.7986203, "longitude":
132
+ -122.4070251}, "transactions": [], "price": "$$$", "location": {"address1":
133
+ "1230 Grant Ave", "address2": "", "address3": "", "city": "San Francisco",
134
+ "zip_code": "94133", "country": "US", "state": "CA", "display_address": ["1230
135
+ Grant Ave", "San Francisco, CA 94133"]}, "phone": "+14159868612", "display_phone":
136
+ "(415) 986-8612", "distance": 4911.928931733509}, {"id": "ttarnopezxmp2ROB1N2PaA",
137
+ "alias": "nopa-san-francisco", "name": "Nopa", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/M8lkaDkG8GChJ1qvXhtLNw/o.jpg",
138
+ "is_closed": false, "url": "https://www.yelp.com/biz/nopa-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
139
+ "review_count": 4700, "categories": [{"alias": "newamerican", "title": "American
140
+ (New)"}, {"alias": "modern_european", "title": "Modern European"}], "rating":
141
+ 4.0, "coordinates": {"latitude": 37.774905, "longitude": -122.437506}, "transactions":
142
+ [], "price": "$$$", "location": {"address1": "560 Divisadero St", "address2":
143
+ null, "address3": "", "city": "San Francisco", "zip_code": "94117", "country":
144
+ "US", "state": "CA", "display_address": ["560 Divisadero St", "San Francisco,
145
+ CA 94117"]}, "phone": "+14158648643", "display_phone": "(415) 864-8643", "distance":
146
+ 1560.129772505212}, {"id": "M0JTO3oyu6gxh1mfFjU-dA", "alias": "san-tung-san-francisco-2",
147
+ "name": "San Tung", "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/bBKx0vw4X5IGlEbUPYKJFw/o.jpg",
148
+ "is_closed": false, "url": "https://www.yelp.com/biz/san-tung-san-francisco-2?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
149
+ "review_count": 6022, "categories": [{"alias": "chinese", "title": "Chinese"},
150
+ {"alias": "chicken_wings", "title": "Chicken Wings"}, {"alias": "noodles",
151
+ "title": "Noodles"}], "rating": 4.0, "coordinates": {"latitude": 37.76367,
152
+ "longitude": -122.46896}, "transactions": [], "price": "$$", "location": {"address1":
153
+ "1031 Irving St", "address2": "", "address3": "", "city": "San Francisco",
154
+ "zip_code": "94122", "country": "US", "state": "CA", "display_address": ["1031
155
+ Irving St", "San Francisco, CA 94122"]}, "phone": "+14152420828", "display_phone":
156
+ "(415) 242-0828", "distance": 2878.6998275440637}, {"id": "SGRmnarrNuVEsAjYdEoA0w",
157
+ "alias": "el-farolito-san-francisco-2", "name": "El Farolito", "image_url":
158
+ "https://s3-media1.fl.yelpcdn.com/bphoto/OPnKCvgBR2-lQ1-yahrpiA/o.jpg", "is_closed":
159
+ false, "url": "https://www.yelp.com/biz/el-farolito-san-francisco-2?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
160
+ "review_count": 4368, "categories": [{"alias": "mexican", "title": "Mexican"},
161
+ {"alias": "seafood", "title": "Seafood"}, {"alias": "sandwiches", "title":
162
+ "Sandwiches"}], "rating": 4.0, "coordinates": {"latitude": 37.75265, "longitude":
163
+ -122.41812}, "transactions": [], "price": "$", "location": {"address1": "2779
164
+ Mission St", "address2": "", "address3": "", "city": "San Francisco", "zip_code":
165
+ "94110", "country": "US", "state": "CA", "display_address": ["2779 Mission
166
+ St", "San Francisco, CA 94110"]}, "phone": "+14158247877", "display_phone":
167
+ "(415) 824-7877", "distance": 1848.3253463643052}, {"id": "gqVl3RprESEqkIPeJH0yOg",
168
+ "alias": "zazie-san-francisco", "name": "Zazie", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/hBFLvIMkEyxEjxk6iAtLvw/o.jpg",
169
+ "is_closed": false, "url": "https://www.yelp.com/biz/zazie-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
170
+ "review_count": 3920, "categories": [{"alias": "breakfast_brunch", "title":
171
+ "Breakfast & Brunch"}, {"alias": "french", "title": "French"}], "rating":
172
+ 4.0, "coordinates": {"latitude": 37.765244, "longitude": -122.4501138}, "transactions":
173
+ [], "price": "$$", "location": {"address1": "941 Cole St", "address2": "",
174
+ "address3": "", "city": "San Francisco", "zip_code": "94117", "country": "US",
175
+ "state": "CA", "display_address": ["941 Cole St", "San Francisco, CA 94117"]},
176
+ "phone": "+14155645332", "display_phone": "(415) 564-5332", "distance": 1294.8624343961546},
177
+ {"id": "hqQoVK0vadOX7_4gN1sh3g", "alias": "saigon-sandwich-san-francisco",
178
+ "name": "Saigon Sandwich", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/lVyf1pn7ft4YzO2n4z7Exg/o.jpg",
179
+ "is_closed": false, "url": "https://www.yelp.com/biz/saigon-sandwich-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
180
+ "review_count": 2996, "categories": [{"alias": "vietnamese", "title": "Vietnamese"},
181
+ {"alias": "sandwiches", "title": "Sandwiches"}], "rating": 4.5, "coordinates":
182
+ {"latitude": 37.7831519576568, "longitude": -122.417318022037}, "transactions":
183
+ [], "price": "$", "location": {"address1": "560 Larkin St", "address2": "",
184
+ "address3": "", "city": "San Francisco", "zip_code": "94102", "country": "US",
185
+ "state": "CA", "display_address": ["560 Larkin St", "San Francisco, CA 94102"]},
186
+ "phone": "+14154745698", "display_phone": "(415) 474-5698", "distance": 2991.557987577475},
187
+ {"id": "n6L5VIGunR51-D55C-eYeQ", "alias": "foreign-cinema-san-francisco",
188
+ "name": "Foreign Cinema", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/cw5y2LSOIE-EVNjKK_d7SQ/o.jpg",
189
+ "is_closed": false, "url": "https://www.yelp.com/biz/foreign-cinema-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
190
+ "review_count": 4397, "categories": [{"alias": "breakfast_brunch", "title":
191
+ "Breakfast & Brunch"}, {"alias": "mediterranean", "title": "Mediterranean"},
192
+ {"alias": "cocktailbars", "title": "Cocktail Bars"}], "rating": 4.0, "coordinates":
193
+ {"latitude": 37.75637, "longitude": -122.41925}, "transactions": [], "price":
194
+ "$$$", "location": {"address1": "2534 Mission St", "address2": "", "address3":
195
+ "", "city": "San Francisco", "zip_code": "94110", "country": "US", "state":
196
+ "CA", "display_address": ["2534 Mission St", "San Francisco, CA 94110"]},
197
+ "phone": "+14156487600", "display_phone": "(415) 648-7600", "distance": 1597.7572216192718},
198
+ {"id": "__I9HmtBMV4dDkEgT22V4g", "alias": "little-star-pizza-san-francisco",
199
+ "name": "Little Star Pizza", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/C-lgf5TcabWh0YvlTAGGTw/o.jpg",
200
+ "is_closed": false, "url": "https://www.yelp.com/biz/little-star-pizza-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
201
+ "review_count": 2719, "categories": [{"alias": "pizza", "title": "Pizza"}],
202
+ "rating": 4.5, "coordinates": {"latitude": 37.77753, "longitude": -122.43798},
203
+ "transactions": [], "price": "$$", "location": {"address1": "846 Divisadero
204
+ St", "address2": "", "address3": "", "city": "San Francisco", "zip_code":
205
+ "94117", "country": "US", "state": "CA", "display_address": ["846 Divisadero
206
+ St", "San Francisco, CA 94117"]}, "phone": "+14154411118", "display_phone":
207
+ "(415) 441-1118", "distance": 1854.973403198051}, {"id": "8dUaybEPHsZMgr1iKgqgMQ",
208
+ "alias": "sotto-mare-oysteria-and-seafood-san-francisco", "name": "Sotto Mare
209
+ Oysteria & Seafood", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/A5sqbVpCIMqUdae_TSMkjQ/o.jpg",
210
+ "is_closed": false, "url": "https://www.yelp.com/biz/sotto-mare-oysteria-and-seafood-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
211
+ "review_count": 3075, "categories": [{"alias": "seafood", "title": "Seafood"},
212
+ {"alias": "italian", "title": "Italian"}, {"alias": "bars", "title": "Bars"}],
213
+ "rating": 4.5, "coordinates": {"latitude": 37.79979, "longitude": -122.40834},
214
+ "transactions": [], "price": "$$", "location": {"address1": "552 Green St",
215
+ "address2": "", "address3": "", "city": "San Francisco", "zip_code": "94133",
216
+ "country": "US", "state": "CA", "display_address": ["552 Green St", "San Francisco,
217
+ CA 94133"]}, "phone": "+14153983181", "display_phone": "(415) 398-3181", "distance":
218
+ 4980.8804673363975}, {"id": "MvAo0hj9FXOeNL5PwBZ0fQ", "alias": "mamas-on-washington-square-san-francisco",
219
+ "name": "Mama''s On Washington Square", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/ETJbHf1tlPkn5V-EKjsmLw/o.jpg",
220
+ "is_closed": false, "url": "https://www.yelp.com/biz/mamas-on-washington-square-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
221
+ "review_count": 3848, "categories": [{"alias": "breakfast_brunch", "title":
222
+ "Breakfast & Brunch"}], "rating": 4.0, "coordinates": {"latitude": 37.801606,
223
+ "longitude": -122.409599}, "transactions": [], "price": "$$", "location":
224
+ {"address1": "1701 Stockton St", "address2": "", "address3": "", "city": "San
225
+ Francisco", "zip_code": "94133", "country": "US", "state": "CA", "display_address":
226
+ ["1701 Stockton St", "San Francisco, CA 94133"]}, "phone": "+14153626421",
227
+ "display_phone": "(415) 362-6421", "distance": 5104.4332229025}, {"id": "mSMZJj2pFvttWLpcDmgrEA",
228
+ "alias": "tonys-pizza-napoletana-san-francisco", "name": "Tony''s Pizza Napoletana",
229
+ "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/d8tM3JkgYW0roXBygLoSKg/o.jpg",
230
+ "is_closed": false, "url": "https://www.yelp.com/biz/tonys-pizza-napoletana-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
231
+ "review_count": 4050, "categories": [{"alias": "pizza", "title": "Pizza"},
232
+ {"alias": "italian", "title": "Italian"}, {"alias": "cocktailbars", "title":
233
+ "Cocktail Bars"}], "rating": 4.0, "coordinates": {"latitude": 37.80032, "longitude":
234
+ -122.40894}, "transactions": [], "price": "$$", "location": {"address1": "1570
235
+ Stockton St", "address2": "", "address3": "", "city": "San Francisco", "zip_code":
236
+ "94133", "country": "US", "state": "CA", "display_address": ["1570 Stockton
237
+ St", "San Francisco, CA 94133"]}, "phone": "+14158359888", "display_phone":
238
+ "(415) 835-9888", "distance": 5001.468588560073}, {"id": "L5vSeC_sa3TUQW_lticqyA",
239
+ "alias": "chapeau-san-francisco", "name": "Chapeau", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/qAdGIt3Gd0eTXwW0WjZamw/o.jpg",
240
+ "is_closed": false, "url": "https://www.yelp.com/biz/chapeau-san-francisco?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
241
+ "review_count": 2512, "categories": [{"alias": "french", "title": "French"},
242
+ {"alias": "wine_bars", "title": "Wine Bars"}, {"alias": "vegetarian", "title":
243
+ "Vegetarian"}], "rating": 4.5, "coordinates": {"latitude": 37.78327, "longitude":
244
+ -122.46066}, "transactions": [], "price": "$$$", "location": {"address1":
245
+ "126 Clement St", "address2": "", "address3": "", "city": "San Francisco",
246
+ "zip_code": "94118", "country": "US", "state": "CA", "display_address": ["126
247
+ Clement St", "San Francisco, CA 94118"]}, "phone": "+14157509787", "display_phone":
248
+ "(415) 750-9787", "distance": 3278.53001624654}, {"id": "f-m7-hyFzkf0HSEeQ2s-9A",
249
+ "alias": "fog-harbor-fish-house-san-francisco-2", "name": "Fog Harbor Fish
250
+ House", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/L-q1jmqFT5GQHW63GesQuQ/o.jpg",
251
+ "is_closed": false, "url": "https://www.yelp.com/biz/fog-harbor-fish-house-san-francisco-2?adjust_creative=-pz45lFH4aD0aS0s94dStQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=-pz45lFH4aD0aS0s94dStQ",
252
+ "review_count": 4210, "categories": [{"alias": "seafood", "title": "Seafood"},
253
+ {"alias": "bars", "title": "Bars"}], "rating": 4.0, "coordinates": {"latitude":
254
+ 37.80873, "longitude": -122.410428}, "transactions": [], "price": "$$", "location":
255
+ {"address1": "Pier 39", "address2": "Ste A-202", "address3": "", "city": "San
256
+ Francisco", "zip_code": "94133", "country": "US", "state": "CA", "display_address":
257
+ ["Pier 39", "Ste A-202", "San Francisco, CA 94133"]}, "phone": "+14154212442",
258
+ "display_phone": "(415) 421-2442", "distance": 5789.2033221841175}], "total":
259
+ 6200, "region": {"center": {"longitude": -122.43644714355469, "latitude":
260
+ 37.76089938976322}}}'
261
+ http_version:
262
+ recorded_at: Thu, 14 Jun 2018 19:55:46 GMT
263
+ recorded_with: VCR 4.0.0