class Nfe::Models::Taxes::PISCOFINSST
Attributes
qBCProd[RW]
tax[RW]
vAliqProd[RW]
vBC[RW]
value[RW]
Public Class Methods
new(xml_tax, xml_value)
click to toggle source
# File lib/nfe/models/taxes/PISCOFINSST.rb, line 44 def initialize(xml_tax, xml_value) @xml_tax = xml_tax @xml_value = xml_value end
Public Instance Methods
parse!(xml)
click to toggle source
# File lib/nfe/models/taxes/PISCOFINSST.rb, line 54 def parse!(xml) doc = Nokogiri::XML(xml) @vBC = doc.css("vBC").present? ? doc.css("vBC").text.to_f : nil @tax = doc.css(@xml_tax).present? ? doc.css(@xml_tax).text.to_f : nil @qBCProd = doc.css("qBCProd").present? ? doc.css("qBCProd").text.to_f : nil @vAliqProd = doc.css("vAliqProd").present? ? doc.css("vAliqProd").text.to_f : nil @value = doc.css(@xml_value).text.to_f end
present?()
click to toggle source
# File lib/nfe/models/taxes/PISCOFINSST.rb, line 49 def present? @vBC.present? || @tax.present? || @qBCProd.present? || @vAliqProd.present? || @value.present? end
to_xml()
click to toggle source
# File lib/nfe/models/taxes/PISCOFINSST.rb, line 64 def to_xml xml = Builder::XmlMarkup.new xml.vBC "%0.2f" % @vBC if @vBC.present? xml.tag!(@xml_tax) { |node| node << "%0.2f" % @tax } if @tax.present? xml.qBCProd "%0.4f" % @qBCProd if @qBCProd.present? xml.vAliqProd "%0.4f" % @vAliqProd if @vAliqProd.present? xml.tag!(@xml_value) { |node| node << "%0.2f" % @value } xml.target! end