module Usps::Api::Endpoints::CityStateLookup
Public Instance Methods
city_state_lookup(options = {})
click to toggle source
City/State Lookup API returns the city and state corresponding to the given ZIP Code. The CityStateLookup
API processes up to five lookups per request. @param [Hash] options @option options [required, Hash] city_state_lookup_request API= CityStateLookupRequest
* *:zip_code* (required, Hash) — * *:zip5* (required, Integer) —
# File lib/usps/api/endpoints/city_state_lookup.rb, line 15 def city_state_lookup(options = {}) throw ArgumentError.new('Required arguments :city_state_lookup_request missing') if options[:city_state_lookup_request].nil? throw ArgumentError.new('Required arguments :city_state_lookup_request, :zip_code missing') if options[:city_state_lookup_request][:zip_code].nil? throw ArgumentError.new('Required arguments :city_state_lookup_request, :zip_code, :zip5 missing') if options[:city_state_lookup_request][:zip_code][:zip5].nil? request = build_request(:city_state_lookup, options) get('https://secure.shippingapis.com/ShippingAPI.dll', { API: 'CityStateLookup', XML: request, }) end
Private Instance Methods
build_city_state_lookup_request(xml, options = {})
click to toggle source
# File lib/usps/api/endpoints/city_state_lookup.rb, line 33 def build_city_state_lookup_request(xml, options = {}) xml.tag!('ZipCode') do xml.tag!('Zip5', options[:city_state_lookup_request][:zip_code][:zip5]) end xml.target! end
tag_unless_blank(xml, tag_name, data)
click to toggle source
# File lib/usps/api/endpoints/city_state_lookup.rb, line 29 def tag_unless_blank(xml, tag_name, data) xml.tag!(tag_name, data) unless data.blank? || data.nil? end