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