Sha256: 056bc57b3b1159620e0ab8b6705b55566cfeb3bd1ed3bd46ea1c70ab911aaf7b
Contents?: true
Size: 897 Bytes
Versions: 2
Compression:
Stored size: 897 Bytes
Contents
require 'nokogiri' module Correios module CEP class Parser ADDRESS_MAP = { 'end' => :address, 'bairro' => :neighborhood, 'cidade' => :city, 'uf' => :state, 'cep' => :zipcode, 'complemento' => :complement, 'complemento2' => :complement2, }.freeze def address(xml) result = Nokogiri::XML(xml).xpath('//return') return if result.nil? || result.empty? address = {} result.children.each do |element| address[ADDRESS_MAP[element.name]] = element.text if ADDRESS_MAP[element.name] end join_complements! address address end private def join_complements!(address) address[:complement] += " #{address.delete(:complement2)}" address[:complement].strip! end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
correios-cep-0.3.3 | lib/correios/cep/parser.rb |
correios-cep-0.3.2 | lib/correios/cep/parser.rb |