Class: SEPOMEX_HCKDRK::General
Class Method Summary
collapse
Methods inherited from ApiClient
api_base, api_base=, config
Methods included from JsonApi
included
Class Method Details
.info_zip_code(zip_code:) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/sepomex_hckdrk/general.rb', line 6
def self.info_zip_code(zip_code:)
url = "query/info_cp/#{zip_code}"
response = api_get(url: url)
raise SEPOMEX_HCKDRK::RequestError.new(response[:error_message]) if !response.kind_of?(Array) && response[:error] == true
payload = response[0]
raise SEPOMEX_HCKDRK::RequestError.new(payload[:error_message]) if payload[:error] == true
data = {
zip_code: payload[:response][:cp].present? ? payload[:response][:cp] : nil,
settlement: payload[:response][:asentamiento].present? ? payload[:response][:asentamiento] : nil,
settlement_type: payload[:response][:tipo_asentamiento].present? ? payload[:response][:tipo_asentamiento] : nil,
municipality: payload[:response][:municipio].present? ? payload[:response][:municipio] : nil,
state: payload[:response][:estado].present? ? payload[:response][:estado] : nil,
city: payload[:response][:ciudad].present? ? payload[:response][:ciudad] : nil,
country: payload[:response][:pais].present? ? payload[:response][:pais] : nil
}
SEPOMEX_HCKDRK::ZipCode.new(*data.values_at(*SEPOMEX_HCKDRK::ZipCode.members))
end
|