Sha256: f09624b0ea80e4c32b96803bf66d4983a87876001884bc8c75499dc0bc366c27

Contents?: true

Size: 1.58 KB

Versions: 1

Compression:

Stored size: 1.58 KB

Contents

# frozen_string_literal: true

# This file was auto-generated by lib/tasks/api.rake

module Usps
	module Api
		module Endpoints
			module CityStateLookup
				#
				# CityStateLookup API
				#
				# 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.
				#
				# @option option [(Alias)] :CityStateLookupRequest (Required)
				# - API= CityStateLookupRequest
				#   @option option [(Group)] :ZipCode (Required)
				#     @option option [Integer] :Zip5 (Required)

				#
				# @see 
				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

				def tag_unless_blank(xml, tag_name, data)
					xml.tag!(tag_name, data) unless data.blank? || data.nil?
				end

				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

			end
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
usps-ruby-client-0.1.0 lib/usps/api/endpoints/city_state_lookup.rb