Class: BrNfe::Base

Inherits:
ActiveModelBase show all
Includes:
Helper::HaveEmitente
Defined in:
lib/br_nfe/base.rb

Direct Known Subclasses

Servico::Base

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helper::HaveEmitente

#emitente, #emitente=

Methods inherited from ActiveModelBase

#assign_attributes, #default_values, #initialize

Constructor Details

This class inherits a constructor from BrNfe::ActiveModelBase

Instance Attribute Details

#certificado_passwordObject

Returns the value of attribute certificado_password.



6
7
8
# File 'lib/br_nfe/base.rb', line 6

def certificado_password
  @certificado_password
end

#certificado_pathObject

Returns the value of attribute certificado_path.



7
8
9
# File 'lib/br_nfe/base.rb', line 7

def certificado_path
  @certificado_path
end

#certificado_valueObject

Caso não tenha o certificado salvo em arquivo, pode setar a string do certificado direto pelo atributo certificado_value Caso tenha o certificado em arquivo, basta setar o atributo certificado_path e deixar o atributo certificado_value em branco



20
21
22
# File 'lib/br_nfe/base.rb', line 20

def certificado_value
  @certificado_value
end

#envObject

Returns the value of attribute env.



24
25
26
# File 'lib/br_nfe/base.rb', line 24

def env
  @env
end

Instance Method Details

#certificadoObject



63
64
65
66
# File 'lib/br_nfe/base.rb', line 63

def certificado
	@certificado ||= OpenSSL::PKCS12.new(certificado_value, certificado_password)
rescue
end

#certificado=(value) ⇒ Object



68
69
70
# File 'lib/br_nfe/base.rb', line 68

def certificado=(value)
	@certificado = value
end

#certificado_obrigatorio?Boolean

Método que deve ser sobrescrito para as ações que necessitam do certificado para assinatura

Returns:

  • (Boolean)


14
15
16
# File 'lib/br_nfe/base.rb', line 14

def certificado_obrigatorio?
	false
end

#client_wsdlObject



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/br_nfe/base.rb', line 76

def client_wsdl
	@client_wsdl ||= Savon.client({
		namespaces:            namespaces,
		env_namespace:         env_namespace,
		wsdl:                  wsdl,
		namespace_identifier:  namespace_identifier,
		encoding:              wsdl_encoding,
		log:                   BrNfe.client_wsdl_log,
		pretty_print_xml:      BrNfe.client_wsdl_pretty_print_xml,
		ssl_verify_mode:       BrNfe.client_wsdl_ssl_verify_mode,
		ssl_cert_file:         BrNfe.client_wsdl_ssl_cert_file,
		ssl_cert_key_file:     BrNfe.client_wsdl_ssl_cert_key_file,
		ssl_cert_key_password: BrNfe.client_wsdl_ssl_cert_key_password
	})
end

#env_namespaceObject



43
44
45
# File 'lib/br_nfe/base.rb', line 43

def env_namespace
	:soapenv
end

#method_wsdlObject



47
48
49
# File 'lib/br_nfe/base.rb', line 47

def method_wsdl
	raise "Não implementado."
end

#namespace_identifierObject



55
56
57
# File 'lib/br_nfe/base.rb', line 55

def namespace_identifier
	raise 'Não implementado.'
end

#namespacesObject



59
60
61
# File 'lib/br_nfe/base.rb', line 59

def namespaces
	{}
end

#original_responseObject



30
31
32
# File 'lib/br_nfe/base.rb', line 30

def original_response
	@original_response
end

#responseObject



35
36
37
# File 'lib/br_nfe/base.rb', line 35

def response
	@response
end

#wsdlObject



39
40
41
# File 'lib/br_nfe/base.rb', line 39

def wsdl
	raise "Não implementado."
end

#wsdl_encodingObject



72
73
74
# File 'lib/br_nfe/base.rb', line 72

def wsdl_encoding
	"UTF-8"
end

#xml_builderObject



51
52
53
# File 'lib/br_nfe/base.rb', line 51

def xml_builder
	raise "Não implementado."
end