Commit 882a106
Changed files (3)
app/models/gym.rb
@@ -29,13 +29,13 @@ class Gym < ActiveRecord::Base
end
end
- def self.search_yelp(city: "Calgary", page: 1, page_size: 20)
+ def self.search_yelp(term: 'gym', city: "Calgary", categories: ['gyms'], page: 1, page_size: 20)
offset = (page * page_size) - page_size
Yelp.client.search(city, {
- category_filter: 'gyms',
+ category_filter: categories.join(','),
limit: page_size,
offset: offset,
- term: 'gym',
+ term: term,
}).businesses.map do |result|
Gym.new(
name: result.name,
bin/yelp
@@ -3,7 +3,7 @@
# bin/rails runner -e development bin/yelp
#url='https://api.yelp.com/v2/search/?term=gym&location=Calgary&sort=2&limit=20&cc=CA&category_filter=gyms'
#curl $url
-cities = ['Calgary', 'Edmonton']
+cities = ['Calgary', 'Edmonton', 'Portland', 'Victoria', 'Anaheim', 'San Diego', 'Seattle']
cities.each do |city|
(1..5).each do |page|
puts "Searching #{city}, page: #{page}"
spec/models/gym_spec.rb
@@ -95,5 +95,13 @@ describe Gym do
expect(results.count).to be > 0
expect(results.first).to be_instance_of(Gym)
end
+
+ it 'finds a college gym' do
+ expect(Gym.search_yelp(
+ term: 'SAIT',
+ city: "Calgary",
+ categories: ["gyms", "stadiumsarenas"]
+ ).map(&:name)).to match_array(["Sait Campus Centre"])
+ end
end
end