class FoursquareVenues::Venues
Public Class Methods
new(*args)
click to toggle source
# File lib/foursquare_venues/venues.rb, line 3 def initialize(*args) case args.size when 2 @client_id, @client_secret = args @foursquare = FoursquareVenues::Base.new(@client_id, @client_secret) else raise ArgumentError, "You need to pass a client_id and client_secret" end end
Public Instance Methods
favorites(options={})
click to toggle source
# File lib/foursquare_venues/venues.rb, line 32 def favorites(options={}) search_group("favorites", options) end
find(id)
click to toggle source
# File lib/foursquare_venues/venues.rb, line 13 def find(id) FoursquareVenues::Venue.new(@foursquare, @foursquare.get("#{id}")["venue"]) end
nearby(options={})
click to toggle source
# File lib/foursquare_venues/venues.rb, line 36 def nearby(options={}) search_group("nearby", options) end
search(options={})
click to toggle source
# File lib/foursquare_venues/venues.rb, line 17 def search(options={}) raise ArgumentError, "You must include :ll" unless options[:ll] response = @foursquare.get('search', options)["groups"].inject({}) do |venues, group| venues[group["type"]] ||= [] venues[group["type"]] += group["items"].map do |json| FoursquareVenues::Venue.new(@foursquare, json) end venues end end
trending(options={})
click to toggle source
# File lib/foursquare_venues/venues.rb, line 28 def trending(options={}) search_group("trending", options) end
Private Instance Methods
search_group(name, options)
click to toggle source
# File lib/foursquare_venues/venues.rb, line 42 def search_group(name, options) raise ArgumentError, "You must include :ll" unless options[:ll] response = @foursquare.get('search', options)["groups"].detect { |group| group["type"] == name } response ? response["items"].map do |json| FoursquareVenues::Venue.new(@foursquare, json) end : [] end