class Nfe::Models::Taxes::IPI
Attributes
cst[RW]
pIPI[RW]
qUnid[RW]
vBC[RW]
vIPI[RW]
vUnid[RW]
Public Instance Methods
cEnq()
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 34 def cEnq "999" end
parse!(xml)
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 43 def parse!(xml) doc = Nokogiri::XML(xml) parse_elements doc reset_values parse_when_IPITrib doc parse_when_IPINT doc end
present?()
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 38 def present? check_present || @cst.present? || @vBC.present? || @pIPI.present? || @qUnid.present? || @vUnid.present? || @vIPI.present? end
to_xml()
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 52 def to_xml xml = Builder::XmlMarkup.new add_elements xml, :clEnq, :cnpjProd, :cSelo, :qSelo xml.cEnq cEnq to_xml_when_IPITrib xml to_xml_when_IPINT xml xml.target! end
Private Instance Methods
IPINT?()
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 70 def IPINT? ["01", "02", "03", "04", "05", "51", "52", "53", "54", "55"].include? @cst end
IPITrib?()
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 66 def IPITrib? ["00", "49", "50", "99"].include? @cst end
parse_when_IPINT(doc)
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 97 def parse_when_IPINT(doc) if doc.css("IPINT").present? ipi = IPINT.new ipi.parse!(doc.css("IPINT").to_xml) @cst = ipi.cst end end
parse_when_IPITrib(doc)
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 83 def parse_when_IPITrib(doc) if doc.css("IPITrib").present? ipi = IPITrib.new ipi.parse!(doc.css("IPITrib").to_xml) @cst = ipi.cst @vBC = ipi.vBC @pIPI = ipi.pIPI @qUnid = ipi.qUnid @vUnid = ipi.vUnid @vIPI = ipi.vIPI end end
reset_values()
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 74 def reset_values @cst = nil @vBC = nil @pIPI = nil @qUnid = nil @vUnid = nil @vIPI = nil end
to_xml_when_IPINT(xml)
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 121 def to_xml_when_IPINT(xml) if IPINT? ipi = IPINT.new ipi.cst = @cst xml.IPINT { |node| node << ipi.to_xml } end end
to_xml_when_IPITrib(xml)
click to toggle source
# File lib/nfe/models/taxes/IPI.rb, line 106 def to_xml_when_IPITrib(xml) if IPITrib? ipi = IPITrib.new ipi.cst = @cst ipi.vBC = @vBC ipi.pIPI = @pIPI ipi.qUnid = @qUnid ipi.vUnid = @vUnid ipi.vIPI = @vIPI xml.IPITrib { |node| node << ipi.to_xml } end end