class Nfe::Operations::NfeDiscard
Public Class Methods
new(certificate:, private_key:, environment:, uf:, cnpj:, series:, reason:, initial_number:, final_number: nil, use_schema: true)
click to toggle source
Calls superclass method
Nfe::Operations::Base::new
# File lib/nfe/operations/nfe_discard.rb, line 6 def initialize(certificate:, private_key:, environment:, uf:, cnpj:, series:, reason:, initial_number:, final_number: nil, use_schema: true) super(certificate, private_key, use_schema: use_schema) @uf = uf @environment = environment @object = object_to_send(cnpj, series, reason, initial_number, final_number) @retInutNFe = Services::Regress::RetInutNFe.new end
Public Instance Methods
discard_xml()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 31 def discard_xml if success? procInutNFe = Nfe::Models::ProcInutNFe.new(@object, @retInutNFe) procInutNFe.to_xml end end
message()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 27 def message @retInutNFe.xMotivo if rejected? || success? end
rejected?()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 23 def rejected? @retInutNFe.cStat.to_i > 200 end
success?()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 19 def success? @retInutNFe.cStat == discard_code end
Protected Instance Methods
before_execute()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 39 def before_execute sign @object, @object.id end
handle_result(xml)
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 43 def handle_result(xml) @retInutNFe.parse! xml @retInutNFe end
schema_name()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 76 def schema_name ws_info.schema end
valid?()
click to toggle source
Calls superclass method
Nfe::Operations::Base#valid?
# File lib/nfe/operations/nfe_discard.rb, line 48 def valid? if @object.uf.to_s.length != 2 errors.add(:base, I18n.t("nfe_discard.invalid_uf")) end if @object.cnpj.to_s.length != 14 errors.add(:base, I18n.t("nfe_discard.invalid_cnpj")) end if @object.serie.to_i <= 0 errors.add(:base, I18n.t("nfe_discard.invalid_series")) end if @object.nNFIni.to_i <= 0 errors.add(:base, I18n.t("nfe_discard.invalid_number")) end if @object.xJust.to_s.length < 15 errors.add(:base, I18n.t("nfe_discard.invalid_reason")) end super end
ws_info()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 80 def ws_info Webservices::Wsinfo::NfeDisenable.new(@environment, @uf) end
xpath()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 72 def xpath "//ns:retInutNFe" end
Private Instance Methods
discard_code()
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 101 def discard_code 102 end
object_to_send(cnpj, series, reason, initial_number, final_number = nil)
click to toggle source
# File lib/nfe/operations/nfe_discard.rb, line 85 def object_to_send(cnpj, series, reason, initial_number, final_number = nil) inutNFe = Services::Dispatch::InutNFe.new inutNFe.tpAmb = @environment inutNFe.versao = ws_info.version inutNFe.uf = @uf inutNFe.ano = Date.today.strftime("%y") inutNFe.cnpj = cnpj inutNFe.serie = series inutNFe.nNFIni = initial_number inutNFe.nNFFin = final_number || initial_number inutNFe.xJust = reason inutNFe end