Commit be55f12

mo khan <mo@mokhan.ca>
2016-05-31 01:39:21
use webmock and vcr to fake out http requests.
1 parent 742e30d
spec/features/profiles_spec.rb
@@ -39,15 +39,17 @@ feature "Profiles", type: :feature do
       )
     end
 
-    it "allows me to choose my home gym", js: true, skip: !ENV["YELP_CONSUMER_KEY"].present? do
+    it "allows me to choose my home gym", js: true do
       gym = build(:gym)
       allow(Gym).to receive(:create_from_yelp!).and_return(gym)
 
-      subject.click_link(I18n.t("profiles.edit.choose_home_gym"))
-      subject.choose_home_gym(city: "calgary", name: "sait")
-      subject.save_changes
+      VCR.use_cassette("home_gym") do
+        subject.click_link(I18n.t("profiles.edit.choose_home_gym"))
+        subject.choose_home_gym(city: "calgary", name: "sait")
+        subject.save_changes
 
-      expect(page).to have_content(gym.name)
+        expect(page).to have_content(gym.name)
+      end
     end
   end
 end
spec/models/gym_spec.rb
@@ -13,13 +13,15 @@ describe Gym do
 
   describe "#location" do
     it "updates the location" do
-      subject.location_attributes = {
-        address: "123 street sw",
-        city: "edmonton",
-        region: "alberta",
-        country: "canada",
-      }
-      subject.save!
+      VCR.use_cassette("geo-location") do
+        subject.location_attributes = {
+          address: "123 street sw",
+          city: "edmonton",
+          region: "alberta",
+          country: "canada",
+        }
+        subject.save!
+      end
 
       expect(subject.location.address).to eql("123 street sw")
       expect(subject.location.city).to eql("edmonton")
@@ -81,27 +83,33 @@ describe Gym do
     end
   end
 
-  describe ".search_yelp", skip: !ENV["YELP_CONSUMER_KEY"].present? do
+  describe ".search_yelp" do
     it "returns results" do
-      results = Gym.search_yelp(city: "Calgary")
-      expect(results).to be_present
-      expect(results.count).to be > 0
-      expect(results.first).to be_instance_of(Gym)
+      VCR.use_cassette("yelp-calgary") do
+        results = Gym.search_yelp(city: "Calgary")
+        expect(results).to be_present
+        expect(results.count).to be > 0
+        expect(results.first).to be_instance_of(Gym)
+      end
     end
 
     it "returns the next page of results" do
-      results = Gym.search_yelp(city: "Calgary", page: 2)
-      expect(results).to be_present
-      expect(results.count).to be > 0
-      expect(results.first).to be_instance_of(Gym)
+      VCR.use_cassette("yelp-calgary-page-2") do
+        results = Gym.search_yelp(city: "Calgary", page: 2)
+        expect(results).to be_present
+        expect(results.count).to be > 0
+        expect(results.first).to be_instance_of(Gym)
+      end
     end
 
     it "finds a college gym" do
-      expect(Gym.search_yelp(
-        q: "SAIT",
-        city: "Calgary",
-        categories: %w{gyms stadiumsarenas},
-      ).map(&:name)).to match_array(["Sait Campus Centre"])
+      VCR.use_cassette("yelp-sait") do
+        expect(Gym.search_yelp(
+          q: "SAIT",
+          city: "Calgary",
+          categories: %w{gyms stadiumsarenas},
+        ).map(&:name)).to match_array(["Sait Campus Centre"])
+      end
     end
   end
 
spec/support/vcr_setup.rb
@@ -0,0 +1,4 @@
+VCR.configure do |config|
+  config.cassette_library_dir = "spec/vcr"
+  config.hook_into :webmock
+end
spec/vcr/geo-location.yml
@@ -0,0 +1,89 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: http://maps.googleapis.com/maps/api/geocode/json?address=123%20street%20sw,%20edmonton,%20alberta,%20canada&language=en&sensor=false
+  response:
+    status:
+      code: 200
+      message: OK
+    body:
+      encoding: ASCII-8BIT
+      string: |
+        {
+           "results" : [
+              {
+                 "address_components" : [
+                    {
+                       "long_name" : "123 Street Southwest",
+                       "short_name" : "123 St SW",
+                       "types" : [ "route" ]
+                    },
+                    {
+                       "long_name" : "Rutherford",
+                       "short_name" : "Rutherford",
+                       "types" : [ "neighborhood", "political" ]
+                    },
+                    {
+                       "long_name" : "Edmonton",
+                       "short_name" : "Edmonton",
+                       "types" : [ "locality", "political" ]
+                    },
+                    {
+                       "long_name" : "Division No. 11",
+                       "short_name" : "Division No. 11",
+                       "types" : [ "administrative_area_level_2", "political" ]
+                    },
+                    {
+                       "long_name" : "Alberta",
+                       "short_name" : "AB",
+                       "types" : [ "administrative_area_level_1", "political" ]
+                    },
+                    {
+                       "long_name" : "Canada",
+                       "short_name" : "CA",
+                       "types" : [ "country", "political" ]
+                    },
+                    {
+                       "long_name" : "T6W",
+                       "short_name" : "T6W",
+                       "types" : [ "postal_code_prefix", "postal_code" ]
+                    }
+                 ],
+                 "formatted_address" : "123 St SW, Edmonton, AB T6W, Canada",
+                 "geometry" : {
+                    "bounds" : {
+                       "northeast" : {
+                          "lat" : 53.41838800000001,
+                          "lng" : -113.5345074
+                       },
+                       "southwest" : {
+                          "lat" : 53.4174456,
+                          "lng" : -113.535319
+                       }
+                    },
+                    "location" : {
+                       "lat" : 53.41792539999999,
+                       "lng" : -113.5347344
+                    },
+                    "location_type" : "GEOMETRIC_CENTER",
+                    "viewport" : {
+                       "northeast" : {
+                          "lat" : 53.41926578029151,
+                          "lng" : -113.5335642197085
+                       },
+                       "southwest" : {
+                          "lat" : 53.41656781970851,
+                          "lng" : -113.5362621802915
+                       }
+                    }
+                 },
+                 "place_id" : "ChIJW8nsT3IeoFMRI9BGHNCnSb8",
+                 "types" : [ "route" ]
+              }
+           ],
+           "status" : "OK"
+        }
+    http_version: 
+  recorded_at: Tue, 31 May 2016 01:18:16 GMT
+recorded_with: VCR 3.0.3
spec/vcr/yelp-calgary-page-2.yml
@@ -0,0 +1,342 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: https://api.yelp.com/v2/search?category_filter=gyms&limit=20&location=Calgary&offset=20&term=gym
+  response:
+    status:
+      code: 200
+      message: OK
+    body:
+      encoding: ASCII-8BIT
+      string: '{"region": {"span": {"latitude_delta": 0.27385743000000673, "longitude_delta":
+        0.2421980000000019}, "center": {"latitude": 51.03749475, "longitude": -114.095907}},
+        "total": 232, "businesses": [{"is_claimed": true, "rating": 3.5, "mobile_url":
+        "http://m.yelp.com/biz/vivo-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/5ef3eb3cb162/ico/stars/v1/stars_3_half.png",
+        "review_count": 12, "name": "Vivo", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/2e909d5d3536/ico/stars/v1/stars_small_3_half.png",
+        "url": "http://www.yelp.com/biz/vivo-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Swimming Pools", "swimmingpools"], ["Skating
+        Rinks", "skatingrinks"]], "phone": "4035321013", "snippet_text": "Good experience.
+        Went to the back and used the free space with the ruber pad on the floor to
+        practice my group dance for PE. Had pleanty of room and the...", "image_url":
+        "https://s3-media2.fl.yelpcdn.com/bphoto/__l1y2wUURvKEz8oABNrEA/ms.jpg", "snippet_image_url":
+        "http://s3-media4.fl.yelpcdn.com/photo/q50PTYB15EO2jEwgv-9vrA/ms.jpg", "display_phone":
+        "+1-403-532-1013", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/bd9b7a815d1b/ico/stars/v1/stars_large_3_half.png",
+        "id": "vivo-calgary", "is_closed": false, "location": {"city": "Calgary",
+        "display_address": ["11950 Country Village Link NE", "Calgary, AB T3K 6E3",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T3K 6E3", "country_code":
+        "CA", "address": ["11950 Country Village Link NE"], "coordinate": {"latitude":
+        51.1594582, "longitude": -114.0675735}, "state_code": "AB"}}, {"is_claimed":
+        true, "rating": 5.0, "mobile_url": "http://m.yelp.com/biz/15-minute-exercise-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 1, "name": "15 Minute Exercise", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/15-minute-exercise-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "deals":
+        [{"what_you_get": "You get a voucher redeemable for CA$40 at 15 Minute Exercise.\nPrint
+        out your voucher, or redeem on your phone with the \u003ca href=\"http://www.yelp.com/mobile?source=deal_marketing\"\u003eYelp
+        app\u003c/a\u003e.", "time_start": 1411049693, "title": "CA$20 for CA$40",
+        "url": "http://www.yelp.ca/deals/15-minute-exercise-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "additional_restrictions": "Promotion lasts for 1 year from date of purchase.
+        After that period, your voucher is redeemable for the amount you paid, less
+        any value you may have received. Not valid with other vouchers, certificates,
+        or offers. Voucher can only be used for services, not retail products. Only
+        3 voucher(s) can be purchased and redeemed per person. Up to 3 can be purchased
+        as gifts for others. Subject to the \u003ca target=\"_blank\" href=\"http://www.yelp.com/tos/general_b2c_en_ca_20140515\"\u003eGeneral
+        Terms\u003c/a\u003e.", "options": [{"original_price": 4000, "title": "CA$20
+        for CA$40", "price": 2000, "purchase_url": "https://www.yelp.ca/checkout/deal/8TCVsd-CwBhONzYe9FMBnA?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "formatted_original_price": "CA$40", "formatted_price": "CA$20", "is_quantity_limited":
+        false}], "image_url": "https://s3-media1.fl.yelpcdn.com/dphoto/Hbaq4RYY98EwHZRuwIeVGg/m.jpg",
+        "id": "jwWkCdXIhVNyTkWDZlTJHw", "currency_code": "CAD"}], "phone": "4038364233",
+        "snippet_text": "15-minute exercise is a fabulous place to get a dose of pampered
+        hard work. Okay, that sounds like an oxymoron. Here''s the gist of what this
+        is all about....", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/c39M28ZfVPRRQoNA_H9-8A/ms.jpg",
+        "snippet_image_url": "https://s3-media4.fl.yelpcdn.com/assets/srv0/yelp_styleguide/cc4afe21892e/assets/img/default_avatars/user_medium_square.png",
+        "display_phone": "+1-403-836-4233", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "15-minute-exercise-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["1414 Kensington Road NW", "Calgary, AB T2N
+        1Y4", "Canada"], "geo_accuracy": 9.5, "postal_code": "T2N 1Y4", "country_code":
+        "CA", "address": ["1414 Kensington Road NW"], "coordinate": {"latitude": 51.0525578,
+        "longitude": -114.0925564}, "state_code": "AB"}}, {"is_claimed": false, "rating":
+        5.0, "mobile_url": "http://m.yelp.com/biz/studio-revolution-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 2, "name": "Studio Revolution", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/studio-revolution-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4037193488", "snippet_text": "as someone who is terrified of group classes
+        (and exercise in general) I was a little bummed when my sister said she signed
+        us up for the Tuesday night...", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/2GcjkcyN25RY2m2LGW3Qag/ms.jpg",
+        "snippet_image_url": "http://s3-media4.fl.yelpcdn.com/photo/kw78yyEHZKlvDgrqjj_LbA/ms.jpg",
+        "display_phone": "+1-403-719-3488", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "studio-revolution-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["313 17th Avenue SW", "Calgary, AB T2S 0A5",
+        "Canada"], "geo_accuracy": 9.5, "postal_code": "T2S 0A5", "country_code":
+        "CA", "address": ["313 17th Avenue SW"], "coordinate": {"latitude": 51.0378448751416,
+        "longitude": -114.069767923996}, "state_code": "AB"}}, {"is_claimed": true,
+        "rating": 2.5, "mobile_url": "http://m.yelp.com/biz/richmond-world-health-calgary-2?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c7fb9aff59f9/ico/stars/v1/stars_2_half.png",
+        "review_count": 8, "name": "Richmond World Health", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/8e8633e5f8f0/ico/stars/v1/stars_small_2_half.png",
+        "url": "http://www.yelp.com/biz/richmond-world-health-calgary-2?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032401555", "snippet_text": "I signed up with a 30 days free coupon on March
+        9.  They offered to convert the coupon to first month free of an ongoing membership,
+        and I agreed. Due to...", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/LFgPnsiwg6AC1ru5DP_66Q/ms.jpg",
+        "snippet_image_url": "https://s3-media4.fl.yelpcdn.com/assets/srv0/yelp_styleguide/cc4afe21892e/assets/img/default_avatars/user_medium_square.png",
+        "display_phone": "+1-403-240-1555", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/d63e3add9901/ico/stars/v1/stars_large_2_half.png",
+        "id": "richmond-world-health-calgary-2", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["4604 - 37 Street SW", "Calgary, AB T3E 3C9",
+        "Canada"], "geo_accuracy": 9.5, "postal_code": "T3E 3C9", "country_code":
+        "CA", "address": ["4604 - 37 Street SW"], "coordinate": {"latitude": 51.0138201546274,
+        "longitude": -114.139744796842}, "state_code": "AB"}}, {"is_claimed": true,
+        "rating": 2.5, "mobile_url": "http://m.yelp.com/biz/north-hill-world-health-calgary-2?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c7fb9aff59f9/ico/stars/v1/stars_2_half.png",
+        "review_count": 10, "name": "North Hill World Health", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/8e8633e5f8f0/ico/stars/v1/stars_small_2_half.png",
+        "url": "http://www.yelp.com/biz/north-hill-world-health-calgary-2?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032844597", "snippet_text": "A big fan of the staff. The air quality is
+        fixed and its not balls hot anymore. (If you endured the previous evening
+        balls you know to what I am referring...", "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/g0AdDlFpsfLnh1dGQVvZXw/ms.jpg",
+        "snippet_image_url": "http://s3-media4.fl.yelpcdn.com/photo/lE_Ez_kMt0_tizQSNrG76g/ms.jpg",
+        "display_phone": "+1-403-284-4597", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/d63e3add9901/ico/stars/v1/stars_large_2_half.png",
+        "id": "north-hill-world-health-calgary-2", "is_closed": false, "location":
+        {"city": "Calgary", "display_address": ["1632 14 Avenue NW", "Calgary, AB
+        T2M 1N7", "Canada"], "geo_accuracy": 8.0, "postal_code": "T2M 1N7", "country_code":
+        "CA", "address": ["1632 14 Avenue NW"], "coordinate": {"latitude": 51.0645561,
+        "longitude": -114.0981216}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        4.5, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-7?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/99493c12711e/ico/stars/v1/stars_4_half.png",
+        "review_count": 2, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/a5221e66bc70/ico/stars/v1/stars_small_4_half.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-7?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "5875381900", "snippet_text": "Awesome
+        classes. \nVery convenient for those who are working downtown.\nSince it was
+        converted from an old bank, they were able to preserve its corinthian and...",
+        "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/jGgWmKjF-lr0ffXToLdLpQ/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/lrkOhHgTSTneZ7gzwThbAg/ms.jpg",
+        "display_phone": "+1-587-538-1900", "rating_img_url_large": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/9f83790ff7f6/ico/stars/v1/stars_large_4_half.png",
+        "id": "goodlife-fitness-calgary-7", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["140-8th Avenue SW", "Calgary, AB T2P 1B3",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2P 1B3", "country_code":
+        "CA", "address": ["140-8th Avenue SW"], "coordinate": {"latitude": 51.0457115,
+        "longitude": -114.065155}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        3.5, "mobile_url": "http://m.yelp.com/biz/midnapore-world-health-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/5ef3eb3cb162/ico/stars/v1/stars_3_half.png",
+        "review_count": 6, "name": "Midnapore World Health", "rating_img_url_small":
+        "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/2e909d5d3536/ico/stars/v1/stars_small_3_half.png",
+        "url": "http://www.yelp.com/biz/midnapore-world-health-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032017677", "snippet_text": "I made a commitment to myself to try and live
+        healthier, by eating and exercise. I find most of the staff here are friendly.
+        It''s not overly busy (That''s a...", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/flSgTf-bOTFOeuKqEyzauA/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/UQ-FoObc4wuJ3z5VBtJtHw/ms.jpg",
+        "display_phone": "+1-403-201-7677", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/bd9b7a815d1b/ico/stars/v1/stars_large_3_half.png",
+        "id": "midnapore-world-health-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["240 Midpark Way SE", "21", "Calgary, AB T2X
+        1N4", "Canada"], "geo_accuracy": 8.0, "postal_code": "T2X 1N4", "country_code":
+        "CA", "address": ["240 Midpark Way SE", "21"], "coordinate": {"latitude":
+        50.9131317, "longitude": -114.0633392}, "state_code": "AB"}}, {"is_claimed":
+        true, "rating": 4.0, "mobile_url": "http://m.yelp.com/biz/anytime-fitness-calgary-8?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 1, "name": "Anytime Fitness", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/anytime-fitness-calgary-8?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "5879558900", "snippet_text": "Nice and spacious. Great gym if you travel
+        as they have multiple locations around the world. This specific location has
+        plenty of free parking which is a...", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/80aH42S6l1uIvLYPEV00rw/ms.jpg",
+        "snippet_image_url": "https://s3-media4.fl.yelpcdn.com/assets/srv0/yelp_styleguide/cc4afe21892e/assets/img/default_avatars/user_medium_square.png",
+        "display_phone": "+1-587-955-8900", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "anytime-fitness-calgary-8", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["3450 Sunridge Way NE", "Calgary, AB T1Y 7K5",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T1Y 7K5", "country_code":
+        "CA", "address": ["3450 Sunridge Way NE"], "coordinate": {"latitude": 51.0689507,
+        "longitude": -113.9869766}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        3.0, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-8?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/34bc8086841c/ico/stars/v1/stars_3.png",
+        "review_count": 10, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/902abeed0983/ico/stars/v1/stars_small_3.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-8?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "5875381700", "snippet_text": "I go to this location
+        about 5 times a week and it''s great for the most part. I used to go to Cardel
+        (now called vivo?) and was amazed to see how big this...", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/4HaS21Q_WO5jtlxjNQyrkA/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/XqjQTXTiaGVNFHmpoxXA2w/ms.jpg",
+        "display_phone": "+1-587-538-1700", "rating_img_url_large": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/e8b5b79d37ed/ico/stars/v1/stars_large_3.png",
+        "id": "goodlife-fitness-calgary-8", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["901 64 Avenue NE", "#901", "Calgary, AB T2E
+        7P4", "Canada"], "geo_accuracy": 9.5, "postal_code": "T2E 7P4", "country_code":
+        "CA", "address": ["901 64 Avenue NE", "#901"], "coordinate": {"latitude":
+        51.1093294834088, "longitude": -114.041352132727}, "state_code": "AB"}}, {"is_claimed":
+        true, "rating": 5.0, "mobile_url": "http://m.yelp.com/biz/peloton-cycling-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 7, "name": "Peloton Cycling", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/peloton-cycling-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Bikes", "bikes"]], "phone": "4034528896",
+        "snippet_text": "I had tried a number of spin studios before coming to Peloton
+        Cycling. After a back injury, spin was recommended to me by my physio as part
+        of my rehab...", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/nRoJu0Q8BpEc89C-KCZW7A/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/8b0Rki5XAFxfFAC_VInj_Q/ms.jpg",
+        "display_phone": "+1-403-452-8896", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "peloton-cycling-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["1005 10th Street SW", "Calgary, AB T2R 1S6",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2R 1S6", "country_code":
+        "CA", "address": ["1005 10th Street SW"], "coordinate": {"latitude": 51.043808,
+        "longitude": -114.086525}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        3.0, "mobile_url": "http://m.yelp.com/biz/heavens-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/34bc8086841c/ico/stars/v1/stars_3.png",
+        "review_count": 4, "name": "Heavens Fitness", "rating_img_url_small": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/902abeed0983/ico/stars/v1/stars_small_3.png",
+        "url": "http://www.yelp.com/biz/heavens-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Yoga", "yoga"], ["Trainers", "healthtrainers"]],
+        "phone": "4032633113", "snippet_text": "It''s a very nice facility, but I
+        found some of the front desk folks snappy and others really friendly.\nMy
+        biggest complaint is the bathrooms- always smelled...", "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/Fgi1IKbvhAMKzvrDYKXa9w/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/evWjCRDSBW2eg8qWkpifhw/ms.jpg",
+        "display_phone": "+1-403-263-3113", "rating_img_url_large": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/e8b5b79d37ed/ico/stars/v1/stars_large_3.png",
+        "id": "heavens-fitness-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["637 11 Ave SW", "Calgary, AB T2R 0E1", "Canada"],
+        "geo_accuracy": 8.0, "postal_code": "T2R 0E1", "country_code": "CA", "address":
+        ["637 11 Ave SW"], "coordinate": {"latitude": 51.0424099, "longitude": -114.07629},
+        "state_code": "AB"}}, {"is_claimed": true, "rating": 3.5, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-11?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/5ef3eb3cb162/ico/stars/v1/stars_3_half.png",
+        "review_count": 7, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/2e909d5d3536/ico/stars/v1/stars_small_3_half.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-11?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4032714348", "snippet_text": "Coming from a
+        guy who has worked for World Health. This location is not to bad. Fairly clean.
+        Gets packed during rush hours of course. Not to to many juice...", "image_url":
+        "https://s3-media2.fl.yelpcdn.com/bphoto/fRQbjpHmQ-zucg83CJm79g/ms.jpg", "snippet_image_url":
+        "http://s3-media1.fl.yelpcdn.com/photo/fnqxSPnwf-ylKDvYELOW-A/ms.jpg", "display_phone":
+        "+1-403-271-4348", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/bd9b7a815d1b/ico/stars/v1/stars_large_3_half.png",
+        "id": "goodlife-fitness-calgary-11", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["13226 MacLeod Trail SE", "Calgary, AB T2J
+        7E5", "Canada"], "geo_accuracy": 9.5, "postal_code": "T2J 7E5", "country_code":
+        "CA", "address": ["13226 MacLeod Trail SE"], "coordinate": {"latitude": 50.9320116133571,
+        "longitude": -114.066316627036}, "state_code": "AB"}}, {"is_claimed": true,
+        "rating": 2.5, "mobile_url": "http://m.yelp.com/biz/anytime-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c7fb9aff59f9/ico/stars/v1/stars_2_half.png",
+        "review_count": 7, "name": "Anytime Fitness", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/8e8633e5f8f0/ico/stars/v1/stars_small_2_half.png",
+        "url": "http://www.yelp.com/biz/anytime-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032696100", "snippet_text": "The Gym Nazi,\n\nI''d like to start off by
+        admitting I do not have a membership to this gym, instead I decided that I
+        would give it a try for 7 day with the...", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/drjIy-7LUkgO1oSaORkdQg/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/4d0uxZQXu2KGR6l_15iggg/ms.jpg",
+        "display_phone": "+1-403-269-6100", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/d63e3add9901/ico/stars/v1/stars_large_2_half.png",
+        "id": "anytime-fitness-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["Unit 36, 12192 Symons Valley Rd NW", "Calgary,
+        AB T3P 0A3", "Canada"], "geo_accuracy": 8.0, "postal_code": "T3P 0A3", "country_code":
+        "CA", "address": ["Unit 36, 12192 Symons Valley Rd NW"], "coordinate": {"latitude":
+        51.1622467, "longitude": -114.1262817}, "state_code": "AB"}}, {"is_claimed":
+        true, "rating": 4.0, "mobile_url": "http://m.yelp.com/biz/kensington-fitness-studio-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 1, "name": "Kensington Fitness Studio", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/kensington-fitness-studio-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"], ["Chiropractors",
+        "chiropractors"]], "phone": "4036707120", "snippet_text": "I''ve been to Kensington
+        Fitness a few times with a friend who has been a member for a couple of years.
+        She loves the personal training and the friendly...", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/i1IIvLmuAT1Q5rISJh52eQ/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/fceHGU0H0bd9fCmVrT4b8A/ms.jpg",
+        "display_phone": "+1-403-670-7120", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "kensington-fitness-studio-calgary", "is_closed": false, "location":
+        {"city": "Calgary", "display_address": ["223 10 St NW", "Calgary, AB T2N 1V5",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2N 1V5", "country_code":
+        "CA", "address": ["223 10 St NW"], "coordinate": {"latitude": 51.05348, "longitude":
+        -114.08636}, "state_code": "AB"}}, {"is_claimed": true, "rating": 5.0, "mobile_url":
+        "http://m.yelp.com/biz/ironside-fitness-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 1, "name": "Ironside Fitness", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/ironside-fitness-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032470404", "snippet_text": "Want to get a glimpse into the lives of the
+        rich and famous? And get a closer look at your toes too without selling your
+        firstborn? There is a way - I met...", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/dj2H70GveESm8AuU2_keqQ/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/h1SWzkBMOBO3z24FUGWY_Q/ms.jpg",
+        "display_phone": "+1-403-247-0404", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "ironside-fitness-calgary-3", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["8060 Silver Springs Boulevard NW", "Suite
+        114", "Calgary, AB T3B 5K1", "Canada"], "geo_accuracy": 8.0, "postal_code":
+        "T3B 5K1", "country_code": "CA", "address": ["8060 Silver Springs Boulevard
+        NW", "Suite 114"], "coordinate": {"latitude": 51.1158791, "longitude": -114.2052078},
+        "state_code": "AB"}}, {"is_claimed": false, "rating": 4.5, "mobile_url": "http://m.yelp.com/biz/spoke-n-spin-studio-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/99493c12711e/ico/stars/v1/stars_4_half.png",
+        "review_count": 3, "name": "Spoke [N] Spin Studio", "rating_img_url_small":
+        "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/a5221e66bc70/ico/stars/v1/stars_small_4_half.png",
+        "url": "http://www.yelp.com/biz/spoke-n-spin-studio-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "4032891973", "snippet_text": "I
+        have been to other group spin classes at other gyms and this one is the best
+        I have been so far. The instructors will push and motivate you to do your...",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/QdORgD25IOLcx9P1qqtNEw/ms.jpg",
+        "display_phone": "+1-403-289-1973", "rating_img_url_large": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/9f83790ff7f6/ico/stars/v1/stars_large_4_half.png",
+        "id": "spoke-n-spin-studio-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["2359 Banff Trail NW", "Calgary, AB T2M 4L2",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2M 4L2", "country_code":
+        "CA", "address": ["2359 Banff Trail NW"], "coordinate": {"latitude": 51.0702515,
+        "longitude": -114.115509}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        2.5, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-4?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c7fb9aff59f9/ico/stars/v1/stars_2_half.png",
+        "review_count": 12, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/8e8633e5f8f0/ico/stars/v1/stars_small_2_half.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-4?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4032472121", "snippet_text": "Great location
+        but gets super busy. Even in the evenings when you want to avoid people it''s
+        still a happening place. The equipment is in need of updating....", "image_url":
+        "https://s3-media4.fl.yelpcdn.com/bphoto/s-ex7V-vjD9rxw8k2Fjqqw/ms.jpg", "snippet_image_url":
+        "http://s3-media4.fl.yelpcdn.com/photo/mrGXL6M2uekg99vOcf28IQ/ms.jpg", "display_phone":
+        "+1-403-247-2121", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/d63e3add9901/ico/stars/v1/stars_large_2_half.png",
+        "id": "goodlife-fitness-calgary-4", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["5111 Northland Drive NW", "Calgary, AB T2L
+        2J8", "Canada"], "geo_accuracy": 9.5, "postal_code": "T2L 2J8", "country_code":
+        "CA", "address": ["5111 Northland Drive NW"], "coordinate": {"latitude": 51.0994553,
+        "longitude": -114.1430828}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        1.0, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-9?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f64056afac01/ico/stars/v1/stars_1.png",
+        "review_count": 1, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/74cb12ae7253/ico/stars/v1/stars_small_1.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-9?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4038021102", "snippet_text": "This is probably
+        the worst Goodlife I have ever been to in terms of customer service. I had
+        broken my leg end of December and i had no choice but to cancel...", "image_url":
+        "https://s3-media3.fl.yelpcdn.com/bphoto/90yRiL5_ZB_CxoNS-Qpqeg/ms.jpg", "snippet_image_url":
+        "http://s3-media3.fl.yelpcdn.com/photo/0_p_TZhPJ1USfBlqdIsELQ/ms.jpg", "display_phone":
+        "+1-403-802-1102", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/cc5d90a21966/ico/stars/v1/stars_large_1.png",
+        "id": "goodlife-fitness-calgary-9", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["880 16 Avenue SW", "Unit 200", "Calgary, AB
+        T2R 0S9", "Canada"], "geo_accuracy": 8.0, "postal_code": "T2R 0S9", "country_code":
+        "CA", "address": ["880 16 Avenue SW", "Unit 200"], "coordinate": {"latitude":
+        51.03837, "longitude": -114.08112}, "state_code": "AB"}}, {"is_claimed": true,
+        "rating": 3.5, "mobile_url": "http://m.yelp.com/biz/southland-leisure-centre-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/5ef3eb3cb162/ico/stars/v1/stars_3_half.png",
+        "review_count": 8, "name": "Southland Leisure Centre", "rating_img_url_small":
+        "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/2e909d5d3536/ico/stars/v1/stars_small_3_half.png",
+        "url": "http://www.yelp.com/biz/southland-leisure-centre-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Leisure Centers", "leisure_centers"], ["Swimming
+        Pools", "swimmingpools"]], "phone": "4036486555", "snippet_text": "For the
+        past 2 years, my nephew''s birthday party has taken place here. No matter
+        how old I get, it''s still fun. The wave pool is terrific \u0026 goes very
+        deep,...", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/8FDdpKocoSF5U_FVs15tfg/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/7Nw4IoXwukJFC4HIbbjDAg/ms.jpg",
+        "display_phone": "+1-403-648-6555", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/bd9b7a815d1b/ico/stars/v1/stars_large_3_half.png",
+        "id": "southland-leisure-centre-calgary", "is_closed": false, "location":
+        {"city": "Calgary", "display_address": ["2000 Southland Dr SW", "Calgary,
+        AB T2V 4S4", "Canada"], "geo_accuracy": 8.0, "postal_code": "T2V 4S4", "country_code":
+        "CA", "address": ["2000 Southland Dr SW"], "coordinate": {"latitude": 50.96158,
+        "longitude": -114.10772}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        2.5, "mobile_url": "http://m.yelp.com/biz/sunridge-world-health-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c7fb9aff59f9/ico/stars/v1/stars_2_half.png",
+        "review_count": 7, "name": "Sunridge World Health", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/8e8633e5f8f0/ico/stars/v1/stars_small_2_half.png",
+        "url": "http://www.yelp.com/biz/sunridge-world-health-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4035909250", "snippet_text": "World Health... why? Why do you gotta go being
+        like that? Why?\n\nLike what? Like... all friendly and upbeat and helpful.
+        Seriously, what''s up with that?\n\nFor...", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/EPEQz3JJUHDPpg_uk7x5Xg/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/OoIQa58V7Fgb0BV4BCPDPQ/ms.jpg",
+        "display_phone": "+1-403-590-9250", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/d63e3add9901/ico/stars/v1/stars_large_2_half.png",
+        "id": "sunridge-world-health-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["2525 - 36th Street NE", "Calgary, AB T1Y 5T4",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T1Y 5T4", "country_code":
+        "CA", "address": ["2525 - 36th Street NE"], "coordinate": {"latitude": 51.07396,
+        "longitude": -113.9820849}, "state_code": "AB"}}]}'
+    http_version: 
+  recorded_at: Tue, 31 May 2016 01:21:06 GMT
+recorded_with: VCR 3.0.3
spec/vcr/yelp-calgary.yml
@@ -0,0 +1,345 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: https://api.yelp.com/v2/search?category_filter=gyms&limit=20&location=Calgary&offset=0&term=gym
+  response:
+    status:
+      code: 200
+      message: OK
+    body:
+      encoding: ASCII-8BIT
+      string: '{"region": {"span": {"latitude_delta": 0.24506755404779312, "longitude_delta":
+        0.23675644461479806}, "center": {"latitude": 51.046380457251004, "longitude":
+        -114.055232934266}}, "total": 232, "businesses": [{"is_claimed": true, "rating":
+        4.5, "mobile_url": "http://m.yelp.com/biz/ymca-calgary-calgary-4?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/99493c12711e/ico/stars/v1/stars_4_half.png",
+        "review_count": 12, "name": "YMCA Calgary", "rating_img_url_small": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/a5221e66bc70/ico/stars/v1/stars_small_4_half.png",
+        "url": "http://www.yelp.com/biz/ymca-calgary-calgary-4?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Recreation Centers", "recreation"]], "phone":
+        "4032696701", "snippet_text": "I have been  a member of the Eau Claire YMCA
+        since 1997. \n\nI enjoy the clean facilities and modern equipment. The gym
+        is well maintained and the staff are...", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/zXn9LtAUgGD6Fdy0gJj1kQ/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/ZyciZ9ggR1CXp03IZfc3cw/ms.jpg",
+        "display_phone": "+1-403-269-6701", "rating_img_url_large": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/9f83790ff7f6/ico/stars/v1/stars_large_4_half.png",
+        "id": "ymca-calgary-calgary-4", "is_closed": false, "location": {"city": "Calgary",
+        "display_address": ["101 3 Street SW", "Calgary, AB T2P 4G6", "Canada"], "geo_accuracy":
+        9.5, "postal_code": "T2P 4G6", "country_code": "CA", "address": ["101 3 Street
+        SW"], "coordinate": {"latitude": 51.0529052983445, "longitude": -114.070559496009},
+        "state_code": "AB"}}, {"is_claimed": true, "rating": 4.0, "mobile_url": "http://m.yelp.com/biz/fit4less-calgary-2?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 5, "name": "Fit4Less", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/fit4less-calgary-2?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "4035696816", "snippet_text": "I
+        really like this gym.  It''s close to home and open 24/7.   The staff is excellent.   \nThe
+        weight area is intimidating at first with everyone walking...", "image_url":
+        "https://s3-media2.fl.yelpcdn.com/bphoto/B_LtiBmNGLQCi8dvD0_iCQ/ms.jpg", "snippet_image_url":
+        "http://s3-media3.fl.yelpcdn.com/photo/UCYjFfIbhGC8iu_1dRT7pw/ms.jpg", "display_phone":
+        "+1-403-569-6816", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "fit4less-calgary-2", "is_closed": false, "location": {"city": "Calgary",
+        "display_address": ["999 36th Street NE", "Calgary, AB T2A 7X6", "Canada"],
+        "geo_accuracy": 8.0, "postal_code": "T2A 7X6", "country_code": "CA", "address":
+        ["999 36th Street NE"], "coordinate": {"latitude": 51.0613785, "longitude":
+        -113.9822388}, "state_code": "AB"}}, {"is_claimed": true, "rating": 4.5, "mobile_url":
+        "http://m.yelp.com/biz/goodlife-fitness-calgary-10?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/99493c12711e/ico/stars/v1/stars_4_half.png",
+        "review_count": 3, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/a5221e66bc70/ico/stars/v1/stars_small_4_half.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-10?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4032693410", "snippet_text": "A gym with more
+        weights than cardio machines! If you want to grab some iron, this is the gym
+        you want to head to. The trainers are super helpful if you''re...", "image_url":
+        "https://s3-media3.fl.yelpcdn.com/bphoto/lBUe6ZMsFylhuCcrbGAqTg/ms.jpg", "snippet_image_url":
+        "http://s3-media4.fl.yelpcdn.com/photo/DoC-7FN79H7Sx0YtUUKN4g/ms.jpg", "display_phone":
+        "+1-403-269-3410", "rating_img_url_large": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/9f83790ff7f6/ico/stars/v1/stars_large_4_half.png",
+        "id": "goodlife-fitness-calgary-10", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["200 Barclay Parade SW", "Calgary, AB T2P 4R5",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2P 4R5", "country_code":
+        "CA", "address": ["200 Barclay Parade SW"], "coordinate": {"latitude": 51.0523682,
+        "longitude": -114.0688934}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        4.0, "mobile_url": "http://m.yelp.com/biz/talisman-centre-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 18, "name": "Talisman Centre", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/talisman-centre-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Nutritionists", "nutritionists"], ["Swimming
+        Pools", "swimmingpools"]], "phone": "4032338393", "snippet_text": "I have
+        been a member of Talisman Centre for 4 years now and love it. I love that
+        they maintain all the equipment and facilities to high sports standards. I...",
+        "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/H1T8pa1rVtmPkdCbsSAB_g/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/-3T5vMKLivO__Zxxt9bQPw/ms.jpg",
+        "display_phone": "+1-403-233-8393", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "talisman-centre-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["2225 Macleod Trail SE", "Calgary, AB T2G 5B6",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2G 5B6", "country_code":
+        "CA", "address": ["2225 Macleod Trail SE"], "coordinate": {"latitude": 51.0348704,
+        "longitude": -114.0591838}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        3.5, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-12?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/5ef3eb3cb162/ico/stars/v1/stars_3_half.png",
+        "review_count": 18, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/2e909d5d3536/ico/stars/v1/stars_small_3_half.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-12?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4032863481", "snippet_text": "I love how many
+        locations there are in the city. I really enjoy going to body pump classes,
+        yoga, and the ladies only facilities. The clubs with steam rooms...", "image_url":
+        "https://s3-media1.fl.yelpcdn.com/bphoto/Y_ANaf1zQXzvNykD7Qq7oA/ms.jpg", "snippet_image_url":
+        "http://s3-media1.fl.yelpcdn.com/photo/uThPfUYcRrS95aVKQ2Dn-w/ms.jpg", "display_phone":
+        "+1-403-286-3481", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/bd9b7a815d1b/ico/stars/v1/stars_large_3_half.png",
+        "id": "goodlife-fitness-calgary-12", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["50-3915 51 Street SW", "Calgary, AB T3E 6N1",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T3E 6N1", "country_code":
+        "CA", "address": ["50-3915 51 Street SW"], "coordinate": {"latitude": 51.02069,
+        "longitude": -114.16156}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        4.0, "mobile_url": "http://m.yelp.com/biz/anytime-fitness-calgary-4?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 5, "name": "Anytime Fitness", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/anytime-fitness-calgary-4?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032551200", "snippet_text": "Great environment, staff is also great. Couldn''t
+        ask for a better place to release stress.", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/uudoBfpeosn3rIJEQKDZoQ/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/3zSzGfEUdkgtFuUZ5iKKsA/ms.jpg",
+        "display_phone": "+1-403-255-1200", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "anytime-fitness-calgary-4", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["9620 Elbow Drive SW", "Calgary, AB T2V 1M2",
+        "Canada"], "geo_accuracy": 9.5, "postal_code": "T2V 1M2", "country_code":
+        "CA", "address": ["9620 Elbow Drive SW"], "coordinate": {"latitude": 50.9687834,
+        "longitude": -114.0847694}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        5.0, "mobile_url": "http://m.yelp.com/biz/2110-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 1, "name": "2110 Fitness", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/2110-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032522225", "snippet_text": "I like the fact that this isn''t your \"typical\"
+        gym - where the guys only work on their upper bodies and have sticks for legs,
+        and the girls are too busy...", "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/Ej3r79wMpjwm3jmYXuvTjQ/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/OTipWvCAku-uAeJ-ac8zag/ms.jpg",
+        "display_phone": "+1-403-252-2225", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "2110-fitness-calgary", "is_closed": false, "location": {"city": "Calgary",
+        "display_address": ["6624 Centre Street South West", "Calgary, AB T2H 0C6",
+        "Canada"], "geo_accuracy": 9.5, "postal_code": "T2H 0C6", "country_code":
+        "CA", "address": ["6624 Centre Street South West"], "coordinate": {"latitude":
+        50.9951077590435, "longitude": -114.063148498535}, "state_code": "AB"}}, {"is_claimed":
+        true, "rating": 4.0, "mobile_url": "http://m.yelp.com/biz/urban-athlete-fitness-studio-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 4, "name": "Urban Athlete Fitness Studio", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/urban-athlete-fitness-studio-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "4032441445", "snippet_text": "I''ve
+        been a member since last year, just after these guys opened.  I was thrilled
+        to see a gym go in so close to where I live: I mean, when you can stumble...",
+        "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/eJQmVY7cGAF9tbUXklDjIA/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/LGqj9vs8Bg1q_uK28hfMPg/ms.jpg",
+        "display_phone": "+1-403-244-1445", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "urban-athlete-fitness-studio-calgary", "is_closed": false, "location":
+        {"city": "Calgary", "display_address": ["480 14th Street NW", "Calgary, AB
+        T2N 1Z7", "Canada"], "geo_accuracy": 9.5, "postal_code": "T2N 1Z7", "country_code":
+        "CA", "address": ["480 14th Street NW"], "coordinate": {"latitude": 51.0571239,
+        "longitude": -114.0947424}, "state_code": "AB"}}, {"is_claimed": false, "rating":
+        4.0, "mobile_url": "http://m.yelp.com/biz/golds-gym-northgate-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 5, "name": "Gold''s Gym Northgate", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/golds-gym-northgate-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "4032724653", "snippet_text": "Just
+        signed up for a member ship for $18 Biweekly might I add! The have tons of
+        equipment and all the machines I need to work out. They do have a lot of...",
+        "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/PAVHn35HS6_vsYbsbLDGGg/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/P9vF6FmxYXEjK04IcyrCNQ/ms.jpg",
+        "display_phone": "+1-403-272-4653", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "golds-gym-northgate-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["565 36 Street NE", "Calgary, AB T2A 6K3",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2A 6K3", "country_code":
+        "CA", "address": ["565 36 Street NE"], "coordinate": {"latitude": 51.0565082,
+        "longitude": -113.9820949}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        4.0, "mobile_url": "http://m.yelp.com/biz/anytime-fitness-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 4, "name": "Anytime Fitness", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/anytime-fitness-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032626288", "snippet_text": "It''s taken me a few good years to really commit
+        to a gym. The last time I did was at World Heath and it was such a horrible
+        experience I thought I would...", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/BmkzEqAS9nIra8TEvP-mxg/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/W1hxVGepOQfu1YWVBvUsoQ/ms.jpg",
+        "display_phone": "+1-403-262-6288", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "anytime-fitness-calgary-3", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["1222 1st St SW", "Calgary, AB T2R 0V4", "Canada"],
+        "geo_accuracy": 8.0, "postal_code": "T2R 0V4", "country_code": "CA", "address":
+        ["1222 1st St SW"], "coordinate": {"latitude": 51.0411682, "longitude": -114.0655594},
+        "state_code": "AB"}}, {"is_claimed": false, "rating": 5.0, "mobile_url": "http://m.yelp.com/biz/b-js-gym-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 2, "name": "B J''s Gym", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/b-js-gym-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "4032625060", "snippet_text": "Reg
+        was awesome enough to spread the word on \"ring a ding dong\" art party that
+        was held at Bj''s gym. I can''t believe that in all the years of my pro...",
+        "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/U1YarpXDM49aYR6Ghyxluw/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/il6AajabCLy8TjZfl8Qd-w/ms.jpg",
+        "display_phone": "+1-403-262-5060", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "b-js-gym-calgary", "is_closed": false, "location": {"city": "Calgary",
+        "display_address": ["602 7 Avenue SE", "Calgary, AB T2G 0J7", "Canada"], "geo_accuracy":
+        8.0, "postal_code": "T2G 0J7", "country_code": "CA", "address": ["602 7 Avenue
+        SE"], "coordinate": {"latitude": 51.04637, "longitude": -114.05045}, "state_code":
+        "AB"}}, {"is_claimed": true, "rating": 3.0, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/34bc8086841c/ico/stars/v1/stars_3.png",
+        "review_count": 15, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/902abeed0983/ico/stars/v1/stars_small_3.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4032740397", "snippet_text": "I go to this gym
+        every other day. Very clean and am always happy with the staff and the towel,
+        soap, disinfectant dispensers are always full. Many yound...", "image_url":
+        "https://s3-media4.fl.yelpcdn.com/bphoto/xAnWv952ADDQsQTHfJ-Alw/ms.jpg", "snippet_image_url":
+        "http://s3-media4.fl.yelpcdn.com/photo/q50PTYB15EO2jEwgv-9vrA/ms.jpg", "display_phone":
+        "+1-403-274-0397", "rating_img_url_large": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/e8b5b79d37ed/ico/stars/v1/stars_large_3.png",
+        "id": "goodlife-fitness-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["11420 Sarcee Trail NW", "Beacon Hill Shopping
+        Centre", "Calgary, AB T3R 0A1", "Canada"], "geo_accuracy": 8.0, "postal_code":
+        "T3R 0A1", "country_code": "CA", "address": ["11420 Sarcee Trail NW", "Beacon
+        Hill Shopping Centre"], "coordinate": {"latitude": 51.1552048, "longitude":
+        -114.1629181}, "state_code": "AB"}}, {"is_claimed": false, "rating": 5.0,
+        "mobile_url": "http://m.yelp.com/biz/platoonfx-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 2, "name": "PlatoonFX Fitness", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/platoonfx-fitness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"]], "phone": "4032616664", "snippet_text": "Platoon
+        FX is located in aviation park NE. Within the industrial area (right beside
+        an air field, lol)\n\nPlatoon FX offers a nutrition center, a set of...",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/il6AajabCLy8TjZfl8Qd-w/ms.jpg",
+        "display_phone": "+1-403-261-6664", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "platoonfx-fitness-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["1351 Aviation Park NE", "Calgary, AB T2E 8M7",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2E 8M7", "country_code":
+        "CA", "address": ["1351 Aviation Park NE"], "coordinate": {"latitude": 51.0999184,
+        "longitude": -114.0310669}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        2.5, "mobile_url": "http://m.yelp.com/biz/macleod-trail-world-health-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c7fb9aff59f9/ico/stars/v1/stars_2_half.png",
+        "review_count": 11, "name": "Macleod Trail World Health", "rating_img_url_small":
+        "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/8e8633e5f8f0/ico/stars/v1/stars_small_2_half.png",
+        "url": "http://www.yelp.com/biz/macleod-trail-world-health-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4039740300", "snippet_text": "Since my last review I had a quick reply from
+        the manager Caterina at world health. She cleared up everything and I can
+        honestly say I am very satisfied...", "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/gjLi3IOSgxtx_JOVQj58_g/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/yqZEFxFQmCJC43W4lraWAQ/ms.jpg",
+        "display_phone": "+1-403-974-0300", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/d63e3add9901/ico/stars/v1/stars_large_2_half.png",
+        "id": "macleod-trail-world-health-calgary", "is_closed": false, "location":
+        {"city": "Calgary", "display_address": ["4344 Macleod Trail S", "Calgary,
+        AB T2G 0A4", "Canada"], "geo_accuracy": 8.0, "postal_code": "T2G 0A4", "country_code":
+        "CA", "address": ["4344 Macleod Trail S"], "coordinate": {"latitude": 51.01456,
+        "longitude": -114.06408}, "state_code": "AB"}}, {"is_claimed": true, "rating":
+        3.5, "mobile_url": "http://m.yelp.com/biz/edgemont-world-health-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/5ef3eb3cb162/ico/stars/v1/stars_3_half.png",
+        "review_count": 11, "name": "Edgemont World Health", "rating_img_url_small":
+        "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/2e909d5d3536/ico/stars/v1/stars_small_3_half.png",
+        "url": "http://www.yelp.com/biz/edgemont-world-health-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "phone":
+        "4032394048", "snippet_text": "I love this gym I have been a member for many
+        years. The staff is very friendly and helpful. The trainers top notch!! Love
+        the pool in the summer with my family", "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/oByoc7yZ0mpDDFqy6S2-LA/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/NSXcRJTKZnoRMu-bIMHuFg/ms.jpg",
+        "display_phone": "+1-403-239-4048", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/bd9b7a815d1b/ico/stars/v1/stars_large_3_half.png",
+        "id": "edgemont-world-health-calgary-3", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["7222 Edgemont Blvd NW", "Calgary, AB T3A 2X7",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T3A 2X7", "country_code":
+        "CA", "address": ["7222 Edgemont Blvd NW"], "coordinate": {"latitude": 51.1195499,
+        "longitude": -114.15526}, "state_code": "AB"}}, {"is_claimed": false, "rating":
+        5.0, "mobile_url": "http://m.yelp.com/biz/genesis-centre-of-community-wellness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 1, "name": "Genesis Centre of Community Wellness", "rating_img_url_small":
+        "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/genesis-centre-of-community-wellness-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Leisure Centers", "leisure_centers"]],
+        "phone": "4035902833", "snippet_text": "Booked Feature Gym 3 for an hour on
+        Friday night. Cost was good. W had a great time playing volleyball. The hour
+        rental gave us private locker rooms with...", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/j6AdVNXUxH6WF2T62kZ1uw/ms.jpg",
+        "snippet_image_url": "http://s3-media3.fl.yelpcdn.com/photo/-TO63zq0g5Jyv5SUn3bQIw/ms.jpg",
+        "display_phone": "+1-403-590-2833", "rating_img_url_large": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "genesis-centre-of-community-wellness-calgary", "is_closed": false,
+        "location": {"city": "Calgary", "display_address": ["7555 Falconridge Blvd
+        NE", "Calgary, AB T3J 0C9", "Canada"], "geo_accuracy": 9.5, "postal_code":
+        "T3J 0C9", "country_code": "CA", "address": ["7555 Falconridge Blvd NE"],
+        "coordinate": {"latitude": 51.1191326805031, "longitude": -113.947616368532},
+        "state_code": "AB"}}, {"is_claimed": true, "rating": 3.0, "mobile_url": "http://m.yelp.com/biz/goodlife-fitness-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/34bc8086841c/ico/stars/v1/stars_3.png",
+        "review_count": 4, "name": "GoodLife Fitness", "rating_img_url_small": "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/902abeed0983/ico/stars/v1/stars_small_3.png",
+        "url": "http://www.yelp.com/biz/goodlife-fitness-calgary-3?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"], ["Sports
+        Clubs", "sports_clubs"]], "phone": "4037263147", "snippet_text": "Goodlife
+        recently took this location over from Gold''s. Other than new signage on the
+        outside of the building, they haven''t done anything else yet. They''ve...",
+        "image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/3z9jkzWxQPMK485lhux0lQ/ms.jpg",
+        "snippet_image_url": "http://s3-media2.fl.yelpcdn.com/photo/v2_-L7WeOm0okMJA-R4I_Q/ms.jpg",
+        "display_phone": "+1-403-726-3147", "rating_img_url_large": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/e8b5b79d37ed/ico/stars/v1/stars_large_3.png",
+        "id": "goodlife-fitness-calgary-3", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["12686 48 St SE", "Calgary, AB T2Z 0B1", "Canada"],
+        "geo_accuracy": 9.5, "postal_code": "T2Z 0B1", "country_code": "CA", "address":
+        ["12686 48 St SE"], "coordinate": {"latitude": 50.934986114502, "longitude":
+        -113.964851379395}, "state_code": "AB"}}, {"is_claimed": true, "rating": 4.0,
+        "mobile_url": "http://m.yelp.com/biz/fit4less-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 2, "name": "Fit4Less", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/fit4less-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Sports Clubs", "sports_clubs"], ["Trainers",
+        "healthtrainers"]], "phone": "4032558455", "snippet_text": "If your looking
+        for a cheap gym that fulfills your basic needs; this is the place. Open 24
+        hrs, cheap membership (under $20/month), free tanning \u0026 massage...",
+        "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/l-YE--qFVjrXn6MOxiWzSg/ms.jpg",
+        "snippet_image_url": "http://s3-media4.fl.yelpcdn.com/photo/JZl5pH0c8uuQjfoF6X4i-w/ms.jpg",
+        "display_phone": "+1-403-255-8455", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "fit4less-calgary", "is_closed": false, "location": {"city": "Calgary",
+        "display_address": ["Macleod Plaza", "180 94th Ave SE", "Calgary, AB T2J 3G8",
+        "Canada"], "geo_accuracy": 9.5, "postal_code": "T2J 3G8", "country_code":
+        "CA", "address": ["Macleod Plaza", "180 94th Ave SE"], "coordinate": {"latitude":
+        50.9694610191834, "longitude": -114.069261859455}, "state_code": "AB"}}, {"is_claimed":
+        true, "rating": 4.0, "mobile_url": "http://m.yelp.com/biz/fifth-avenue-club-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 5, "name": "Fifth Avenue Club", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/fifth-avenue-club-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"], ["Squash",
+        "squash"]], "phone": "4035434747", "snippet_text": "As a relatively new member,
+        I don''t have the wealth of experience the previous reviewers do. I also don''t
+        play squash, nor have I joined in any of the...", "image_url": "https://s3-media4.fl.yelpcdn.com/bphoto/7ToTBj5Mvhy6FpPoJno3lw/ms.jpg",
+        "snippet_image_url": "http://s3-media1.fl.yelpcdn.com/photo/ooalu4Q6JixKycxDBI8F7w/ms.jpg",
+        "display_phone": "+1-403-543-4747", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "fifth-avenue-club-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["715 5 Avenue SW", "2nd Floor", "Calgary, AB
+        T2P 2X6", "Canada"], "geo_accuracy": 8.0, "postal_code": "T2P 2X6", "country_code":
+        "CA", "address": ["715 5 Avenue SW", "2nd Floor"], "coordinate": {"latitude":
+        51.04849, "longitude": -114.07757}, "state_code": "AB"}}, {"is_claimed": true,
+        "rating": 5.0, "mobile_url": "http://m.yelp.com/biz/the-fitness-fix-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/f1def11e4e79/ico/stars/v1/stars_5.png",
+        "review_count": 1, "name": "The Fitness Fix", "rating_img_url_small": "https://s3-media1.fl.yelpcdn.com/assets/2/www/img/c7623205d5cd/ico/stars/v1/stars_small_5.png",
+        "url": "http://www.yelp.com/biz/the-fitness-fix-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Gyms", "gyms"], ["Trainers", "healthtrainers"]], "deals":
+        [{"what_you_get": "You get a voucher redeemable for CA$150 at The Fitness
+        Fix.\nPrint out your voucher, or redeem on your phone with the \u003ca href=\"http://www.yelp.com/mobile?source=deal_marketing\"\u003eYelp
+        app\u003c/a\u003e.", "time_start": 1449262668, "title": "CA$100 for CA$150",
+        "url": "http://www.yelp.ca/deals/the-fitness-fix-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "additional_restrictions": "Promotion lasts for 1 year from date of purchase.
+        After that period, your voucher is redeemable for the amount you paid, less
+        any value you may have received. Not valid with other vouchers, certificates,
+        or offers. Voucher can only be used for services, not retail products. Only
+        1 voucher(s) can be purchased and redeemed per person. Up to 3 can be purchased
+        as gifts for others. Subject to the \u003ca target=\"_blank\" href=\"http://www.yelp.com/tos/general_b2c_en_ca_20140515\"\u003eGeneral
+        Terms\u003c/a\u003e.", "options": [{"original_price": 15000, "title": "CA$100
+        for CA$150", "price": 10000, "purchase_url": "https://www.yelp.ca/checkout/deal/1in-0sQyEU_h8H92_Subww?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "formatted_original_price": "CA$150", "formatted_price": "CA$100", "is_quantity_limited":
+        false}], "image_url": "https://s3-media4.fl.yelpcdn.com/dphoto/-L1gHFbmCE15kclxQ9PZ_Q/m.jpg",
+        "id": "qeLYDYksm7MtRAoI620frQ", "currency_code": "CAD"}], "phone": "4035696757",
+        "snippet_text": "Top notch trainers, fitness instructors, and yoga therapists.  A
+        close-knit group of students and teachers gives the studio a Cheers-feel,
+        where everyone...", "image_url": "https://s3-media2.fl.yelpcdn.com/bphoto/5jjiQHdJD4FzLTue_OfxuQ/ms.jpg",
+        "snippet_image_url": "http://s3-media4.fl.yelpcdn.com/photo/PXPrSVqXFzDrvSGAnbNr9g/ms.jpg",
+        "display_phone": "+1-403-569-6757", "gift_certificates": [{"url": "http://www.yelp.ca/gift-certificates/the-fitness-fix-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "unused_balances": "CASH", "options": [{"price": 1000, "formatted_price":
+        "CA$10"}, {"price": 2500, "formatted_price": "CA$25"}, {"price": 5000, "formatted_price":
+        "CA$50"}, {"price": 7500, "formatted_price": "CA$75"}, {"price": 10000, "formatted_price":
+        "CA$100"}, {"price": 15000, "formatted_price": "CA$150"}], "image_url": "http://s3-media1.fl.yelpcdn.com/bphoto/Wg25ztNaJV7ynjndGuGJEA/m.jpg",
+        "id": "SJbYV5GAN2q3sjYD-JHC_Q", "currency_code": "CAD"}], "rating_img_url_large":
+        "https://s3-media3.fl.yelpcdn.com/assets/2/www/img/22affc4e6c38/ico/stars/v1/stars_large_5.png",
+        "id": "the-fitness-fix-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["Unit 566", "64th Ave NE", "Calgary, AB T2K
+        6H9", "Canada"], "geo_accuracy": 6.0, "postal_code": "T2K 6H9", "country_code":
+        "CA", "address": ["Unit 566", "64th Ave NE"], "coordinate": {"latitude": 51.1106491,
+        "longitude": -114.0532227}, "state_code": "AB"}}]}'
+    http_version: 
+  recorded_at: Tue, 31 May 2016 01:21:28 GMT
+recorded_with: VCR 3.0.3
spec/vcr/yelp-sait.yml
@@ -0,0 +1,32 @@
+---
+http_interactions:
+- request:
+    method: get
+    uri: https://api.yelp.com/v2/search?category_filter=gyms,stadiumsarenas&limit=20&location=Calgary&offset=0&term=SAIT
+  response:
+    status:
+      code: 200
+      message: OK
+    body:
+      encoding: ASCII-8BIT
+      string: '{"region": {"span": {"latitude_delta": 0.0, "longitude_delta": 0.0},
+        "center": {"latitude": 51.0663333, "longitude": -114.0865588}}, "total": 1,
+        "businesses": [{"is_claimed": false, "rating": 4.0, "mobile_url": "http://m.yelp.com/biz/sait-campus-centre-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "rating_img_url": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/c2f3dd9799a5/ico/stars/v1/stars_4.png",
+        "review_count": 1, "name": "Sait Campus Centre", "rating_img_url_small": "https://s3-media4.fl.yelpcdn.com/assets/2/www/img/f62a5be2f902/ico/stars/v1/stars_small_4.png",
+        "url": "http://www.yelp.com/biz/sait-campus-centre-calgary?utm_campaign=yelp_api\u0026utm_medium=api_v2_search\u0026utm_source=",
+        "categories": [["Stadiums \u0026 Arenas", "stadiumsarenas"], ["Colleges \u0026
+        Universities", "collegeuniv"]], "phone": "4032848357", "snippet_text": "I
+        spend a lot of time at the Campus Centre for events, fitness, and even wait
+        time while family is working out /swimming. It''s a Shaw Open WiFi location
+        so...", "image_url": "https://s3-media3.fl.yelpcdn.com/bphoto/sPLC52Bh5DDpVGFhCjRzYQ/ms.jpg",
+        "snippet_image_url": "http://s3-media4.fl.yelpcdn.com/photo/IhPIcIDEjVaAi4PKrlAyYQ/ms.jpg",
+        "display_phone": "+1-403-284-8357", "rating_img_url_large": "https://s3-media2.fl.yelpcdn.com/assets/2/www/img/ccf2b76faa2c/ico/stars/v1/stars_large_4.png",
+        "id": "sait-campus-centre-calgary", "is_closed": false, "location": {"city":
+        "Calgary", "display_address": ["1301 16 Avenue NW", "Calgary, AB T2M 0L4",
+        "Canada"], "geo_accuracy": 8.0, "postal_code": "T2M 0L4", "country_code":
+        "CA", "address": ["1301 16 Avenue NW"], "coordinate": {"latitude": 51.06667,
+        "longitude": -114.08978}, "state_code": "AB"}}]}'
+    http_version: 
+  recorded_at: Tue, 31 May 2016 01:21:13 GMT
+recorded_with: VCR 3.0.3
Gemfile
@@ -1,77 +1,79 @@
-source 'https://rubygems.org' do
-  gem 'bcrypt', '~> 3.1.7'
-  gem 'brakeman', group: :development, require: false
-  gem 'bullet', group: [:development, :test]
-  gem 'byebug', group: [:development, :test]
-  gem 'capistrano', '3.4.1'
-  gem 'capistrano-bundler', '~> 1.1', require: false, group: :development
-  gem 'capistrano-rails', group: :development
-  gem 'capistrano-rbenv', '~> 2.0', require: false, group: :development
-  gem 'carmen'
-  gem 'chartkick'
-  gem 'codeclimate-test-reporter', require: nil, group: :test
-  gem 'coffee-rails', '~> 4.1'
-  gem 'coveralls', require: false, group: :test
-  gem 'cucumber-rails', require: false, group: :test
-  gem 'dalli'
-  gem 'database_cleaner', group: :test
-  gem 'dotenv-rails'
-  gem 'email_validator'
-  gem 'factory_girl_rails', group: :test
-  gem 'ffaker', group: :test
-  gem 'flamegraph', group: :development
-  gem 'flipper'
-  gem 'flipper-redis'
-  gem 'font-awesome-rails'
-  gem 'foreman', group: :development
-  gem 'foundation-rails', '~> 5.5'
-  gem 'geocoder'
-  gem 'geokit-rails'
-  gem 'griddler'
-  gem 'griddler-sendgrid'
-  gem 'groupdate'
-  gem 'http_accept_language'
-  gem 'i18n-tasks', group: :development
-  gem 'jbuilder', '~> 2.0'
-  gem 'jquery-rails'
-  gem 'jquery-turbolinks'
-  gem 'kaminari'
-  gem 'meta_request', group: :development
-  gem 'pg'
-  gem 'poltergeist', group: :test
-  gem 'puma'
-  gem 'rack-mini-profiler', group: :development
-  gem 'rack-timeout'
-  gem 'rack_session_access', group: :test
-  gem 'ractive-rails'
-  gem 'rails', '~> 4.2'
-  gem 'rails-erd', group: :development
-  gem 'rails-i18n', '~> 4.0.0'
-  gem 'rails_12factor', group: :production
-  gem 'rspec-rails', group: :test
-  gem 'rubyzip', require: 'zip'
-  gem 'sass-rails', '~> 5.0'
-  gem 'scale'
-  gem 'sdoc', '~> 0.4', group: :doc
-  gem 'sequel'
-  gem 'sidekiq'
-  gem 'spring', group: [:development, :test]
-  gem 'spring-commands-cucumber', group: :test
-  gem 'spring-commands-rspec', group: :test
-  gem 'spring-commands-teaspoon', group: :test
-  gem 'sprockets-rails', '2.3.3'
-  gem 'sqlite3'
-  gem 'stackprof', group: :development
-  gem 'teaspoon-jasmine', group: :test
-  gem 'therubyracer', platforms: :ruby
-  gem 'turbolinks'
-  gem 'uglifier', '>= 1.3.0'
-  gem 'web-console', '~> 2.0', group: :development
-  gem 'yelp'
+source "https://rubygems.org" do
+  gem "bcrypt", "~> 3.1.7"
+  gem "brakeman", group: :development, require: false
+  gem "bullet", group: [:development, :test]
+  gem "byebug", group: [:development, :test]
+  gem "capistrano", "3.4.1"
+  gem "capistrano-bundler", "~> 1.1", require: false, group: :development
+  gem "capistrano-rails", group: :development
+  gem "capistrano-rbenv", "~> 2.0", require: false, group: :development
+  gem "carmen"
+  gem "chartkick"
+  gem "codeclimate-test-reporter", require: nil, group: :test
+  gem "coffee-rails", "~> 4.1"
+  gem "coveralls", require: false, group: :test
+  gem "cucumber-rails", require: false, group: :test
+  gem "dalli"
+  gem "database_cleaner", group: :test
+  gem "dotenv-rails"
+  gem "email_validator"
+  gem "factory_girl_rails", group: :test
+  gem "ffaker", group: :test
+  gem "flamegraph", group: :development
+  gem "flipper"
+  gem "flipper-redis"
+  gem "font-awesome-rails"
+  gem "foreman", group: :development
+  gem "foundation-rails", "~> 5.5"
+  gem "geocoder"
+  gem "geokit-rails"
+  gem "griddler"
+  gem "griddler-sendgrid"
+  gem "groupdate"
+  gem "http_accept_language"
+  gem "i18n-tasks", group: :development
+  gem "jbuilder", "~> 2.0"
+  gem "jquery-rails"
+  gem "jquery-turbolinks"
+  gem "kaminari"
+  gem "meta_request", group: :development
+  gem "pg"
+  gem "poltergeist", group: :test
+  gem "puma"
+  gem "rack-mini-profiler", group: :development
+  gem "rack-timeout"
+  gem "rack_session_access", group: :test
+  gem "ractive-rails"
+  gem "rails", "~> 4.2"
+  gem "rails-erd", group: :development
+  gem "rails-i18n", "~> 4.0.0"
+  gem "rails_12factor", group: :production
+  gem "rspec-rails", group: :test
+  gem "rubyzip", require: "zip"
+  gem "sass-rails", "~> 5.0"
+  gem "scale"
+  gem "sdoc", "~> 0.4", group: :doc
+  gem "sequel"
+  gem "sidekiq"
+  gem "spring", group: [:development, :test]
+  gem "spring-commands-cucumber", group: :test
+  gem "spring-commands-rspec", group: :test
+  gem "spring-commands-teaspoon", group: :test
+  gem "sprockets-rails", "2.3.3"
+  gem "sqlite3"
+  gem "stackprof", group: :development
+  gem "teaspoon-jasmine", group: :test
+  gem "therubyracer", platforms: :ruby
+  gem "turbolinks"
+  gem "uglifier", ">= 1.3.0"
+  gem "vcr", group: :test
+  gem "web-console", "~> 2.0", group: :development
+  gem "webmock", group: :test
+  gem "yelp"
 end
 
-source 'https://rails-assets.org' do
-  gem 'rails-assets-clipboard'
-  gem 'rails-assets-lodash'
-  gem 'rails-assets-ractive'
+source "https://rails-assets.org" do
+  gem "rails-assets-clipboard"
+  gem "rails-assets-lodash"
+  gem "rails-assets-ractive"
 end
Gemfile.lock
@@ -107,6 +107,8 @@ GEM
       term-ansicolor (~> 1.3)
       thor (~> 0.19.1)
       tins (~> 1.6.0)
+    crack (0.4.3)
+      safe_yaml (~> 1.0.0)
     cucumber (2.3.3)
       builder (>= 2.1.2)
       cucumber-core (~> 1.4.0)
@@ -186,6 +188,7 @@ GEM
       activesupport (>= 3)
     haml (4.0.7)
       tilt
+    hashdiff (0.3.0)
     highline (1.7.8)
     htmlentities (4.3.4)
     http_accept_language (2.0.5)
@@ -402,6 +405,7 @@ GEM
     uglifier (3.0.0)
       execjs (>= 0.3.0, < 3)
     uniform_notifier (1.9.0)
+    vcr (3.0.3)
     virtus (1.0.5)
       axiom-types (~> 0.1)
       coercible (~> 1.0)
@@ -412,6 +416,10 @@ GEM
       binding_of_caller (>= 0.7.2)
       railties (>= 4.0)
       sprockets-rails (>= 2.0, < 4.0)
+    webmock (2.0.3)
+      addressable (>= 2.3.6)
+      crack (>= 0.3.2)
+      hashdiff
     websocket-driver (0.6.3)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.2)
@@ -496,7 +504,9 @@ DEPENDENCIES
   therubyracer!
   turbolinks!
   uglifier (>= 1.3.0)!
+  vcr!
   web-console (~> 2.0)!
+  webmock!
   yelp!
 
 BUNDLED WITH