correios-sro 1.1.1 → 2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +13 -9
- data/lib/correios-sro.rb +15 -12
- data/lib/track.rb +1 -8
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -14,21 +14,25 @@ Tracking object system from Correios (Brazil)
|
|
14
14
|
require 'rubygems'
|
15
15
|
require 'correios-sro'
|
16
16
|
|
17
|
-
package = CorreiosSRO.track('
|
18
|
-
package
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
package = CorreiosSRO.track('RA090978804CN')
|
18
|
+
if package
|
19
|
+
puts package.number
|
20
|
+
package.status.each do |status|
|
21
|
+
puts status.date
|
22
|
+
puts status.place
|
23
|
+
puts status.track
|
24
|
+
puts status.details
|
25
|
+
end
|
24
26
|
end
|
25
27
|
|
26
28
|
|
27
29
|
=== First or Last
|
28
30
|
|
29
31
|
package = CorreiosSRO.track('SS987654321BR')
|
30
|
-
|
31
|
-
|
32
|
+
if package
|
33
|
+
puts package.first.date
|
34
|
+
puts package.last.date
|
35
|
+
end
|
32
36
|
|
33
37
|
|
34
38
|
== Contributing
|
data/lib/correios-sro.rb
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
require "rubygems"
|
2
|
-
require "nokogiri"
|
3
|
-
require "open-uri"
|
4
2
|
require "date"
|
3
|
+
require "open-uri"
|
4
|
+
require "nokogiri"
|
5
5
|
require "track"
|
6
6
|
require "status"
|
7
7
|
|
8
8
|
class CorreiosSRO
|
9
9
|
|
10
10
|
def self.track(number)
|
11
|
-
@
|
12
|
-
@xml = Nokogiri::XML(@xml)
|
11
|
+
@html = Nokogiri::HTML(open("http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=#{number}"))
|
13
12
|
|
14
|
-
if @
|
13
|
+
if @html.xpath("//tr").count > 0
|
15
14
|
track = Track.new(number)
|
16
15
|
self.parse(track)
|
17
16
|
|
@@ -23,14 +22,18 @@ class CorreiosSRO
|
|
23
22
|
|
24
23
|
private
|
25
24
|
def self.parse(track)
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
|
26
|
+
@html.xpath("//tr[position() > 1]").each do |row|
|
27
|
+
if row.search("td").count > 1
|
28
|
+
track << Status.new.tap { |s|
|
29
|
+
s.date = DateTime.strptime(row.search("td[@rowspan][1]").text.strip, "%d/%m/%Y %H:%M")
|
30
|
+
s.place = row.search("td[2]").text.strip
|
31
|
+
s.track = row.search("td[3]").text.strip
|
32
|
+
s.details = row.search(".//following-sibling::tr[1]").text.strip if row.search("td[@rowspan='2'][1]").count > 0
|
33
|
+
}
|
34
|
+
end
|
33
35
|
end
|
36
|
+
|
34
37
|
end
|
35
38
|
|
36
39
|
end
|
data/lib/track.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: correios-sro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version:
|
5
|
+
version: "2.0"
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Caio Tarifa
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-05-02 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|