Sha256: 4eb136e2722271201f0ff799e1bf5934cfe67606ed2065efb632025f70006c0f
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true module ReceitawsClient class ConsultarCnpj < Base # Metodo para consultar um CNPJ # cnpj: obrigatório, numérico, o CNPJ a ser pesquisado # Retonar um obejto do tipo Receitaws::Cnpj def self.executar(cnpj) if (Rails.env.development? && ReceitawsClient.mock_development) || (Rails.env.test? && ReceitawsClient.mock_test) return ReceitawsClient::Mock::ConsultarCnpj.executar cnpj end Rails.logger.tagged 'ReceitawsClient' do cnpj = cnpj.to_s.gsub(/[^0-9A-Za-z]/, '') unless ReceitawsClient::Cnpj.valida_digito_cnpj(cnpj) Rails.logger.info 'CNPJ INVALIDO' result = { 'status' => 'ERROR', 'message' => 'CNPJ INVALIDO' } return ReceitawsClient::Cnpj.new(result) end response = build_request endpoint(cnpj), 'get' begin result = JSON.parse(response.read_body) unless response.nil? Rails.logger.info 'Busca de CNPJ OK' return ReceitawsClient::Cnpj.new(result) rescue StandardError Rails.logger.info 'ERROR - Serviço ReceitaWS não retornou a solicitação!' result = { 'status' => 'error', 'message' => 'ERROR - Serviço ReceitaWS não retornou a solicitação!' } return ReceitawsClient::Cnpj.new(result) end end end def self.endpoint(cnpj) return "cnpj/#{cnpj}" if ReceitawsClient.plano == 'gratis' "cnpj/#{cnpj}/days/#{ReceitawsClient.days}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
receitaws_client-0.0.9 | lib/receitaws_client/consultar_cnpj.rb |