class Correios::Rastreamento
Constants
- WEBSRO
Public Class Methods
new(codigo)
click to toggle source
# File lib/correios.rb, line 40 def initialize(codigo) if codigo.nil? or codigo.empty? raise ArgumentError, "Especifique o código de rastreamento corretamente." end @codigo = codigo end
Public Instance Methods
buscar()
click to toggle source
# File lib/correios.rb, line 48 def buscar pagina = rastrear return if pagina.xpath("//tr").count == 0 sro = [] pagina.xpath("//tr[position() > 1]").each do |linha| if linha.search("td").count > 1 sro << { :data => DateTime.strptime(linha.search("td[@rowspan][1]").text.strip, "%d/%m/%Y %H:%M"), :local => linha.search("td[2]").text.strip, :descricao => linha.search("td[3]").text.strip } if linha.search("td[@rowspan='2'][1]").count > 0 sro.last.merge! :detalhes => linha.search(".//following-sibling::tr[1]").text.strip end end end sro end
chegou?()
click to toggle source
# File lib/correios.rb, line 72 def chegou? buscar.first[:descricao] == "Entrega Efetuada" end
Private Instance Methods
rastrear()
click to toggle source
# File lib/correios.rb, line 77 def rastrear Nokogiri::HTML open("#{WEBSRO}=#{@codigo}") end