def location(opts = {})
      if opts[:city] && opts[:state] && opts[:zip_code]
        @query[:location] = opts[:city] + ", " + opts[:state] + ", " + opts[:zip_code].to_s
      elsif opts[:zip_code]
        @query[:location] = opts[:zip_code].to_s
      elsif opts[:city] && opts[:state]
        @query[:location] = opts[:city] + ", " + opts[:state]
      end
      return self
    end
def location(opts = {})
      if opts[:city] && opts[:state] && opts[:zip_code]
        @query[:location] = opts[:city] + ", " + opts[:state] + ", " + opts[:zip_code].to_s
      elsif opts[:zip_code]
        @query[:location] = opts[:zip_code].to_s
      elsif opts[:city] && opts[:state]
        @query[:location] = opts[:city] + ", " + opts[:state]
      end
      return self
    end
Filter a search around a City/State/Zip Code
 Valid combinations:
 - US zip code
 - City, State
 - City, State, Zip
 Note: If zip code is specified, it will take priority over city and state.
 The options hash takes three parameters:
 - :city
 - :state should be in two letter form; e.g. TX for Texas, AZ for Arizona
 - :zip_code
 Examples:
   search.location(:city => "Fremont", :state => "CA", :zip_code => "94536")
   search.location(:city => "Los Angeles", :state => "CA")
   search.location(:zip_code => "99652")