Sha256: fc5828f01670c45df8f04371ece3af54f34f708bcd351eef2cbb9c8b0f8fd00b

Contents?: true

Size: 789 Bytes

Versions: 1

Compression:

Stored size: 789 Bytes

Contents

# frozen_string_literal: true

module Brazil
  module Cep
    module Adapters
      # Viacep provider adapter class
      # This class is responsible for fetching the address information from the Viacep provider
      class Viacep < Base
        provider base_url: "https://viacep.com.br/ws/{{cep}}/json/"

        private

        def transformation!
          address_params = {
            zipcode: @payload[:cep],
            state: @payload[:uf],
            city: @payload[:localidade],
            neighborhood: @payload[:bairro],
            street: @payload[:logradouro],
            complement: @payload[:complemento],
            meta: @payload.update(provider: :postmon)
          }

          Brazil::Cep::Address.new(**address_params)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
brazil-cep-0.2.0 lib/brazil_cep/adapters/viacep.rb