class Nfe::Helpers::SchemaValidator

Attributes

errors[R]

Public Class Methods

new(schema_path, xml) click to toggle source
# File lib/nfe/helpers/schema_validator.rb, line 8
def initialize(schema_path, xml)
  @document = Nokogiri::XML(xml)
  @xsd = Nokogiri::XML::Schema(File.open(schema_path))
  @errors = ActiveModel::Errors.new(self)
end

Public Instance Methods

valid?() click to toggle source
# File lib/nfe/helpers/schema_validator.rb, line 14
def valid?
  @xsd.validate(@document).each do |error|
    message = error.message.gsub("{http://www.portalfiscal.inf.br/nfe}", "")
    @errors.add(:base, message) unless @errors.added? :base, message
  end

  @errors.empty?
end