class Nfe::Xml

Attributes

open_timeout[RW]
read_timeout[RW]
result[RW]
xml_content[RW]

Public Class Methods

new(xml_or_file) click to toggle source
# File lib/nfe/xml.rb, line 8
def initialize(xml_or_file)
  xml_or_file = File.read(xml_or_file) if File.exist?(xml_or_file)
  @xml_content = xml_or_file
end

Public Instance Methods

valid?() click to toggle source
# File lib/nfe/xml.rb, line 13
def valid?
  case request
    when Net::HTTPSuccess then
      self.result = WebService::SearchResult.new(request.body)
      !request.body.include?('../Imagens/erro.png')
    else
      false
  end
end

Private Instance Methods

base_uri() click to toggle source
# File lib/nfe/xml.rb, line 26
def base_uri
  return @base_uri if @base_uri
  @base_uri = URI('https://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx')
end
request() click to toggle source
# File lib/nfe/xml.rb, line 31
def request
  return @request if @request

  http = Net::HTTP.new(base_uri.host, base_uri.port)
  http.use_ssl = true
  http.open_timeout = self.open_timeout
  http.read_timeout = self.read_timeout
  request = Net::HTTP::Post.new(base_uri.request_uri)
  request.set_form_data(txtxml: xml_content)
  @request = http.request(request)
end