Sha256: bcf1080a845a1ca4398a1802bf75f3a36fce556a56574f3a66e070228a9344d9
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
module Daywalker # Represents a Congressional district. # # They have the following attributes: # * number # * state (as a two-letter abbreviation) class District < Base include HappyMapper tag 'district' element 'number', Integer element 'state', String # Find the district for a specific latitude and longitude. # # Returns a District. Raises ArgumentError if you omit latitude or longitude. def self.unique_by_latitude_and_longitude(latitude, longitude) raise(ArgumentError, 'missing required parameter latitude') if latitude.nil? raise(ArgumentError, 'missing required parameter longitude') if longitude.nil? query = { :latitude => latitude, :longitude => longitude, :apikey => Daywalker.api_key } response = get('/districts.getDistrictFromLatLong.xml', :query => query) handle_response(response).first end # Finds all districts for a specific zip code. # # Returns an Array of Districts. Raises ArgumentError if you omit the zip. def self.all_by_zipcode(zip) raise(ArgumentError, 'missing required parameter zip') if zip.nil? query = { :zip => zip, :apikey => Daywalker.api_key } response = get('/districts.getDistrictsFromZip.xml', :query => query) handle_response(response) end # Find the district for a specific address. # # Returns a District. # # Raises Daywalker::AddressError if the address can't be geocoded. def self.unique_by_address(address) raise(ArgumentError, 'missing required parameter address') if address.nil? location = Daywalker.geocoder.locate(address) unique_by_latitude_and_longitude(location[:latitude], location[:longitude]) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
technicalpickles-daywalker-0.2.0 | lib/daywalker/district.rb |
technicalpickles-daywalker-0.2.1 | lib/daywalker/district.rb |