Module: Rlocu::VenueSearch

Defined in:
lib/rlocu/venue_search.rb

Constant Summary collapse

PARAMETERS =
[:name, :has_menu, :category, :cuisine, :website_url, :open_at, :street_address, 
:locality, :region, :postal_code, :country, :location, :radius, :bounds]

Class Method Summary collapse

Class Method Details

.query(params, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/rlocu/venue_search.rb', line 9

def self.query(params, &block)    
  unsupported = params.keys.reduce([]) {|memo,p| memo << p unless PARAMETERS.include? p; memo }
  raise ArgumentError.new "Unsupported parameter to Rlocu::VenuSearch (#{unsupported})" unless unsupported.empty?
  response = {}
  open(url(params)) {|request| response = JSON.parse(request.read)}
  venues = []
  venues = response['objects'].reduce(venues) {|arr, o| arr << Rlocu::Venue.new(o) ; arr }
  venues.each { |venue| yield venue } if block_given?
  return venues
end