correios-sro-xml 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.rdoc CHANGED
@@ -1,2 +1,5 @@
1
+ == Versão 0.0.2
2
+ - Melhoria: {Issue #1: Incluindo campo hora}[https://github.com/prodis/correios-sro-xml/pull/1].
3
+
1
4
  == Versão 0.0.1
2
5
  - Primeira versão funcional, mas ainda instável.
data/Gemfile CHANGED
@@ -1,14 +1,13 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem "log-me", "~> 0.0.2"
4
- gem "nokogiri", "~> 1.5.0"
5
- gem "sax-machine", "~> 0.1.0"
4
+ gem "nokogiri", "~> 1.5"
5
+ gem "sax-machine", "~> 0.1"
6
6
 
7
7
  group :development do
8
- gem "bundler", "~> 1.0"
9
8
  gem "fakeweb", "~> 1.3"
10
9
  gem "jeweler", "~> 1.8"
11
- gem "rspec", "~> 2.8"
10
+ gem "rspec", "~> 2.9"
12
11
  gem "ruby-debug", :platforms => :ruby_18
13
12
  gem "ruby-debug19", :require => "ruby-debug", :platforms => :ruby_19
14
13
  end
data/Gemfile.lock CHANGED
@@ -11,25 +11,25 @@ GEM
11
11
  git (>= 1.2.5)
12
12
  rake
13
13
  rdoc
14
- json (1.6.5)
14
+ json (1.6.6)
15
15
  linecache (0.46)
16
16
  rbx-require-relative (> 0.0.4)
17
17
  linecache19 (0.5.12)
18
18
  ruby_core_source (>= 0.1.4)
19
19
  log-me (0.0.2)
20
- nokogiri (1.5.0)
20
+ nokogiri (1.5.2)
21
21
  rake (0.9.2.2)
22
- rbx-require-relative (0.0.5)
22
+ rbx-require-relative (0.0.9)
23
23
  rdoc (3.12)
24
24
  json (~> 1.4)
25
- rspec (2.8.0)
26
- rspec-core (~> 2.8.0)
27
- rspec-expectations (~> 2.8.0)
28
- rspec-mocks (~> 2.8.0)
29
- rspec-core (2.8.0)
30
- rspec-expectations (2.8.0)
31
- diff-lcs (~> 1.1.2)
32
- rspec-mocks (2.8.0)
25
+ rspec (2.9.0)
26
+ rspec-core (~> 2.9.0)
27
+ rspec-expectations (~> 2.9.0)
28
+ rspec-mocks (~> 2.9.0)
29
+ rspec-core (2.9.0)
30
+ rspec-expectations (2.9.1)
31
+ diff-lcs (~> 1.1.3)
32
+ rspec-mocks (2.9.0)
33
33
  ruby-debug (0.10.4)
34
34
  columnize (>= 0.1)
35
35
  ruby-debug-base (~> 0.10.4.0)
@@ -52,12 +52,11 @@ PLATFORMS
52
52
  ruby
53
53
 
54
54
  DEPENDENCIES
55
- bundler (~> 1.0)
56
55
  fakeweb (~> 1.3)
57
56
  jeweler (~> 1.8)
58
57
  log-me (~> 0.0.2)
59
- nokogiri (~> 1.5.0)
60
- rspec (~> 2.8)
58
+ nokogiri (~> 1.5)
59
+ rspec (~> 2.9)
61
60
  ruby-debug
62
61
  ruby-debug19
63
- sax-machine (~> 0.1.0)
62
+ sax-machine (~> 0.1)
data/README.rdoc CHANGED
@@ -24,6 +24,7 @@ Rastreamento de um objeto:
24
24
  objeto = sro.consultar("SI047624825BR")
25
25
  objeto.numero # => "SI047624825BR"
26
26
  objeto.eventos.first.data # => "26/12/2011"
27
+ objeto.eventos.first.hora # => "15:22"
27
28
  objeto.eventos.first.local # => "AC CENTRAL DE SAO PAULO"
28
29
  objeto.eventos.first.descricao # => "Entregue"
29
30
 
@@ -32,11 +33,13 @@ Rastreamento de vários objetos:
32
33
 
33
34
  objetos["SI047624825BR"].numero # => "SI047624825BR"
34
35
  objetos["SI047624825BR"].eventos.first.data # => "26/12/2011"
36
+ objetos["SI047624825BR"].eventos.first.hora # => "15:22"
35
37
  objetos["SI047624825BR"].eventos.first.local # => "AC CENTRAL DE SAO PAULO"
36
38
  objetos["SI047624825BR"].eventos.first.descricao # => "Entregue"
37
39
 
38
40
  objetos["SX104110463BR"].numero # => "SX104110463BR"
39
41
  objetos["SX104110463BR"].eventos.first.data # => "08/12/2011"
42
+ objetos["SX104110463BR"].eventos.first.hora # => "09:30"
40
43
  objetos["SX104110463BR"].eventos.first.local # => "CEE JUNDIAI"
41
44
  objetos["SX104110463BR"].eventos.first.descricao # => "Entregue"
42
45
 
@@ -44,6 +47,8 @@ Rastreamento de vários objetos:
44
47
  == Autor
45
48
  - {Fernando Hamasaki (prodis)}[http://prodis.blog.br]
46
49
 
50
+ == Colaboradores
51
+ - {Thiago Ganzarolli (tganzarolli)}[https://github.com/tganzarolli]
47
52
 
48
53
  == Contributing to correios-sro-xml
49
54
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "correios-sro-xml"
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Prodis a.k.a. Fernando Hamasaki"]
12
- s.date = "2012-01-30"
12
+ s.date = "2012-04-04"
13
13
  s.description = "Sistema de Rastreamento de Objetos dos Correios (SRO) utilizando o Web Service SRO XML, que permite a consulta de ate 50 encomendas simultaneamente."
14
14
  s.email = "prodis@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -32,15 +32,20 @@ Gem::Specification.new do |s|
32
32
  "lib/correios/sro/rastreador.rb",
33
33
  "lib/correios/sro/version.rb",
34
34
  "lib/correios/sro/web_service.rb",
35
+ "spec/correios/sro/evento_spec.rb",
36
+ "spec/correios/sro/parser_spec.rb",
35
37
  "spec/correios/sro/rastreador_spec.rb",
36
38
  "spec/correios/sro/web_service_spec.rb",
37
- "spec/spec_helper.rb"
39
+ "spec/spec_helper.rb",
40
+ "spec/support/fake_request.rb",
41
+ "spec/support/responses/success-response-many-objects.xml",
42
+ "spec/support/responses/success-response-one-object.xml"
38
43
  ]
39
44
  s.homepage = "http://github.com/prodis/correios-sro-xml"
40
45
  s.licenses = ["MIT"]
41
46
  s.require_paths = ["lib"]
42
47
  s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
43
- s.rubygems_version = "1.8.11"
48
+ s.rubygems_version = "1.8.16"
44
49
  s.summary = "Sistema de Rastreamento de Objetos dos Correios (SRO)."
45
50
 
46
51
  if s.respond_to? :specification_version then
@@ -48,33 +53,30 @@ Gem::Specification.new do |s|
48
53
 
49
54
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
55
  s.add_runtime_dependency(%q<log-me>, ["~> 0.0.2"])
51
- s.add_runtime_dependency(%q<nokogiri>, ["~> 1.5.0"])
52
- s.add_runtime_dependency(%q<sax-machine>, ["~> 0.1.0"])
53
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
56
+ s.add_runtime_dependency(%q<nokogiri>, ["~> 1.5"])
57
+ s.add_runtime_dependency(%q<sax-machine>, ["~> 0.1"])
54
58
  s.add_development_dependency(%q<fakeweb>, ["~> 1.3"])
55
59
  s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
56
- s.add_development_dependency(%q<rspec>, ["~> 2.8"])
60
+ s.add_development_dependency(%q<rspec>, ["~> 2.9"])
57
61
  s.add_development_dependency(%q<ruby-debug>, [">= 0"])
58
62
  s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
59
63
  else
60
64
  s.add_dependency(%q<log-me>, ["~> 0.0.2"])
61
- s.add_dependency(%q<nokogiri>, ["~> 1.5.0"])
62
- s.add_dependency(%q<sax-machine>, ["~> 0.1.0"])
63
- s.add_dependency(%q<bundler>, ["~> 1.0"])
65
+ s.add_dependency(%q<nokogiri>, ["~> 1.5"])
66
+ s.add_dependency(%q<sax-machine>, ["~> 0.1"])
64
67
  s.add_dependency(%q<fakeweb>, ["~> 1.3"])
65
68
  s.add_dependency(%q<jeweler>, ["~> 1.8"])
66
- s.add_dependency(%q<rspec>, ["~> 2.8"])
69
+ s.add_dependency(%q<rspec>, ["~> 2.9"])
67
70
  s.add_dependency(%q<ruby-debug>, [">= 0"])
68
71
  s.add_dependency(%q<ruby-debug19>, [">= 0"])
69
72
  end
70
73
  else
71
74
  s.add_dependency(%q<log-me>, ["~> 0.0.2"])
72
- s.add_dependency(%q<nokogiri>, ["~> 1.5.0"])
73
- s.add_dependency(%q<sax-machine>, ["~> 0.1.0"])
74
- s.add_dependency(%q<bundler>, ["~> 1.0"])
75
+ s.add_dependency(%q<nokogiri>, ["~> 1.5"])
76
+ s.add_dependency(%q<sax-machine>, ["~> 0.1"])
75
77
  s.add_dependency(%q<fakeweb>, ["~> 1.3"])
76
78
  s.add_dependency(%q<jeweler>, ["~> 1.8"])
77
- s.add_dependency(%q<rspec>, ["~> 2.8"])
79
+ s.add_dependency(%q<rspec>, ["~> 2.9"])
78
80
  s.add_dependency(%q<ruby-debug>, [">= 0"])
79
81
  s.add_dependency(%q<ruby-debug19>, [">= 0"])
80
82
  end
@@ -9,6 +9,7 @@ module Correios
9
9
  element :tipo
10
10
  element :status
11
11
  element :data
12
+ element :hora
12
13
  element :descricao
13
14
  element :recebedor
14
15
  element :documento
@@ -19,6 +20,12 @@ module Correios
19
20
  element :uf
20
21
  element :sto
21
22
  element :destino, :class => Correios::SRO::Destino
23
+
24
+ [:recebedor, :documento, :comentario].each do |method|
25
+ define_method "#{method}=" do |value|
26
+ instance_variable_set("@#{method}", value.to_s.strip)
27
+ end
28
+ end
22
29
  end
23
30
  end
24
31
  end
@@ -4,7 +4,7 @@ module Correios
4
4
  module Version
5
5
  MAJOR = 0
6
6
  MINOR = 0
7
- PATCH = 1
7
+ PATCH = 2
8
8
  VERSION = [MAJOR, MINOR, PATCH].join(".")
9
9
  end
10
10
  end
@@ -6,7 +6,7 @@ module Correios
6
6
  module SRO
7
7
  class WebService
8
8
  URL = "http://websro.correios.com.br/sro_bin/sroii_xml.eventos"
9
- TYPES = { :lista => "L", :intervalor => "F" }
9
+ TYPES = { :lista => "L", :intervalo => "F" }
10
10
  RESULTS = { :todos => "T", :ultimo => "U" }
11
11
 
12
12
  def initialize
@@ -0,0 +1,15 @@
1
+ # encoding: UTF-8
2
+ require 'spec_helper'
3
+
4
+ describe Correios::SRO::Evento do
5
+ let(:evento) { Correios::SRO::Evento.new }
6
+
7
+ [:recebedor, :documento, :comentario].each do |method|
8
+ describe "##{method}=" do
9
+ it "strips string" do
10
+ evento.send("#{method}=", " Texto. ")
11
+ evento.send(method).should == "Texto."
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,84 @@
1
+ # encoding: UTF-8
2
+ require 'spec_helper'
3
+
4
+ describe Correios::SRO::Parser do
5
+ describe "#objetos" do
6
+ before :each do
7
+ xml = body_for :success_response_many_objects
8
+ parser = Correios::SRO::Parser.new
9
+ @objetos = parser.objetos(xml)
10
+ end
11
+
12
+ ["SI047624825BR", "SX104110463BR"].each do |number|
13
+ it "returns object number" do
14
+ @objetos[number].numero.should == number
15
+ end
16
+ end
17
+
18
+ context "returns event" do
19
+ { "SI047624825BR" => {
20
+ :tipo => "BDI",
21
+ :status => "01",
22
+ :data => "26/12/2011",
23
+ :hora => "15:22",
24
+ :descricao => "Entregue",
25
+ :recebedor => "",
26
+ :documento => "",
27
+ :comentario => "?",
28
+ :local => "AC CENTRAL DE SAO PAULO",
29
+ :codigo => "01009972",
30
+ :cidade => "SAO PAULO",
31
+ :uf => "SP",
32
+ :sto => "00024419"
33
+ },
34
+ "SX104110463BR" => {
35
+ :tipo => "BDE",
36
+ :status => "01",
37
+ :data => "08/12/2011",
38
+ :hora => "09:30",
39
+ :descricao => "Entregue",
40
+ :recebedor => "",
41
+ :documento => "",
42
+ :comentario => "",
43
+ :local => "CEE JUNDIAI",
44
+ :codigo => "13211970",
45
+ :cidade => "JUNDIAI",
46
+ :uf => "SP",
47
+ :sto => "74654209"
48
+ },
49
+ }.each do |number, first_event|
50
+ first_event.each do |attr, value|
51
+ it attr do
52
+ evento = @objetos[number].eventos.first
53
+ evento.send(attr).should == value
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ context "returns destination" do
60
+ { "SI047624825BR" => {
61
+ :local => "CTE VILA MARIA",
62
+ :codigo => "02170975",
63
+ :cidade => "SAO PAULO",
64
+ :bairro => "PQ NOVO MUNDO",
65
+ :uf => "SP"
66
+ },
67
+ "SX104110463BR" => {
68
+ :local => "CTE CAMPINAS",
69
+ :codigo => "13050971",
70
+ :cidade => "VALINHOS",
71
+ :bairro => "MACUCO",
72
+ :uf => "SP"
73
+ },
74
+ }.each do |number, destination|
75
+ destination.each do |attr, value|
76
+ it attr do
77
+ destino = @objetos[number].eventos[3].destino
78
+ destino.send(attr).should == value
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -38,7 +38,10 @@ describe Correios::SRO::Rastreador do
38
38
  end
39
39
 
40
40
  describe "#consultar" do
41
- before(:each) { @sro = Correios::SRO::Rastreador.new :usuario => "USUARIO", :senha => "SENHA" }
41
+ before :each do
42
+ fake_request_for :success_response_many_objects
43
+ @sro = Correios::SRO::Rastreador.new :usuario => "USUARIO", :senha => "SENHA"
44
+ end
42
45
 
43
46
  it "sets objetos" do
44
47
  @sro.consultar("SQ458226057B", "RA132678652BR")
@@ -2,4 +2,13 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Correios::SRO::WebService do
5
+ describe "#request" do
6
+ let(:sro) { Correios::SRO::Rastreador.new }
7
+ let(:web_service) { Correios::SRO::WebService.new }
8
+
9
+ it "returns XML response" do
10
+ fake_request_for("<xml><fake></fake>")
11
+ web_service.request(sro).should == "<xml><fake></fake>"
12
+ end
13
+ end
5
14
  end
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,15 @@
1
1
  require 'correios-sro-xml'
2
+ require 'fakeweb'
3
+
4
+ # Requires supporting files with custom matchers and macros, etc,
5
+ # in ./support/ and its subdirectories.
6
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
2
7
 
3
- # This file was generated by the `rspec --init` command. Conventionally, all
4
- # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
5
- # Require this file using `require "spec_helper.rb"` to ensure that it is only
6
- # loaded once.
7
- #
8
8
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
9
  RSpec.configure do |config|
10
10
  config.treat_symbols_as_metadata_keys_with_true_values = true
11
11
  config.run_all_when_everything_filtered = true
12
12
  config.filter_run :focus
13
13
  end
14
+
15
+ FakeWeb.allow_net_connect = false
@@ -0,0 +1,19 @@
1
+ # encoding: UTF-8
2
+
3
+ def fake_request_for(response)
4
+ FakeWeb.register_uri(:post,
5
+ Regexp.new("http://websro.correios.com.br/sro_bin/sroii_xml.eventos"),
6
+ :status => 200,
7
+ :body => body_for(response))
8
+ end
9
+
10
+ def body_for(response)
11
+ case response
12
+ when :success_response_one_object
13
+ File.open(File.dirname(__FILE__) + "/responses/success-response-one-object.xml").read
14
+ when :success_response_many_objects
15
+ File.open(File.dirname(__FILE__) + "/responses/success-response-many-objects.xml").read
16
+ else
17
+ response
18
+ end
19
+ end
@@ -0,0 +1,186 @@
1
+ <?xml version="1.0" encoding="iso-8859-1" ?>
2
+ <sroxml>
3
+ <versao>1.0</versao>
4
+ <qtd>2</qtd>
5
+ <TipoPesquisa>Lista de Objetos</TipoPesquisa>
6
+ <TipoResultado>Todos os eventos</TipoResultado>
7
+ <objeto>
8
+ <numero>SI047624825BR</numero>
9
+ <evento>
10
+ <tipo>BDI</tipo>
11
+ <status>01</status>
12
+ <data>26/12/2011</data>
13
+ <hora>15:22</hora>
14
+ <descricao>Entregue</descricao>
15
+ <recebedor> </recebedor>
16
+ <documento> </documento>
17
+ <comentario>?</comentario>
18
+ <local>AC CENTRAL DE SAO PAULO</local>
19
+ <codigo>01009972</codigo>
20
+ <cidade>SAO PAULO</cidade>
21
+ <uf>SP</uf>
22
+ <sto>00024419</sto>
23
+ </evento>
24
+ <evento>
25
+ <tipo>LDI</tipo>
26
+ <status>01</status>
27
+ <data>24/12/2011</data>
28
+ <hora>12:14</hora>
29
+ <descricao>Aguardando retirada</descricao>
30
+ <local>AC CENTRAL DE SAO PAULO</local>
31
+ <codigo>01009972</codigo>
32
+ <cidade>SAO PAULO</cidade>
33
+ <uf>SP</uf>
34
+ <sto>00024419</sto>
35
+ </evento>
36
+ <evento>
37
+ <tipo>RO</tipo>
38
+ <status>01</status>
39
+ <data>24/12/2011</data>
40
+ <hora>06:26</hora>
41
+ <descricao>Encaminhado</descricao>
42
+ <local>CTE VILA MARIA</local>
43
+ <codigo>02170975</codigo>
44
+ <cidade>SAO PAULO</cidade>
45
+ <uf>SP</uf>
46
+ <sto>72626003</sto>
47
+ <destino>
48
+ <local>CDD SE</local>
49
+ <codigo>01009970</codigo>
50
+ <cidade>SAO PAULO</cidade>
51
+ <bairro>CENTRO</bairro>
52
+ <uf>SP</uf>
53
+ </destino>
54
+ </evento>
55
+ <evento>
56
+ <tipo>RO</tipo>
57
+ <status>01</status>
58
+ <data>23/12/2011</data>
59
+ <hora>17:12</hora>
60
+ <descricao>Encaminhado</descricao>
61
+ <local>AC JUNDIAI</local>
62
+ <codigo>13201970</codigo>
63
+ <cidade>JUNDIAI</cidade>
64
+ <uf>SP</uf>
65
+ <sto>74302043</sto>
66
+ <destino>
67
+ <local>CTE VILA MARIA</local>
68
+ <codigo>02170975</codigo>
69
+ <cidade>SAO PAULO</cidade>
70
+ <bairro>PQ NOVO MUNDO</bairro>
71
+ <uf>SP</uf>
72
+ </destino>
73
+ </evento>
74
+ <evento>
75
+ <tipo>PO</tipo>
76
+ <status>00</status>
77
+ <data>23/12/2011</data>
78
+ <hora>11:36</hora>
79
+ <descricao>Postado</descricao>
80
+ <local>AC JUNDIAI</local>
81
+ <codigo>13201970</codigo>
82
+ <cidade>JUNDIAI</cidade>
83
+ <uf>SP</uf>
84
+ <sto>74302043</sto>
85
+ </evento>
86
+ </objeto>
87
+ <objeto>
88
+ <numero>SX104110463BR</numero>
89
+ <evento>
90
+ <tipo>BDE</tipo>
91
+ <status>01</status>
92
+ <data>08/12/2011</data>
93
+ <hora>09:30</hora>
94
+ <descricao>Entregue</descricao>
95
+ <recebedor> </recebedor>
96
+ <documento> </documento>
97
+ <comentario> </comentario>
98
+ <local>CEE JUNDIAI</local>
99
+ <codigo>13211970</codigo>
100
+ <cidade>JUNDIAI</cidade>
101
+ <uf>SP</uf>
102
+ <sto>74654209</sto>
103
+ </evento>
104
+ <evento>
105
+ <tipo>OEC</tipo>
106
+ <status>01</status>
107
+ <data>08/12/2011</data>
108
+ <hora>07:03</hora>
109
+ <descricao>Saiu para entrega</descricao>
110
+ <local>CEE JUNDIAI</local>
111
+ <codigo>13211970</codigo>
112
+ <cidade>JUNDIAI</cidade>
113
+ <uf>SP</uf>
114
+ <sto>74654209</sto>
115
+ </evento>
116
+ <evento>
117
+ <tipo>RO</tipo>
118
+ <status>01</status>
119
+ <data>08/12/2011</data>
120
+ <hora>06:31</hora>
121
+ <descricao>Encaminhado</descricao>
122
+ <local>CTE CAMPINAS</local>
123
+ <codigo>13050971</codigo>
124
+ <cidade>VALINHOS</cidade>
125
+ <uf>SP</uf>
126
+ <sto>00048540</sto>
127
+ <destino>
128
+ <local>CEE JUNDIAI</local>
129
+ <codigo>13211970</codigo>
130
+ <cidade>JUNDIAI</cidade>
131
+ <bairro>BAIRRO</bairro>
132
+ <uf>SP</uf>
133
+ </destino>
134
+ </evento>
135
+ <evento>
136
+ <tipo>RO</tipo>
137
+ <status>01</status>
138
+ <data>07/12/2011</data>
139
+ <hora>22:43</hora>
140
+ <descricao>Encaminhado</descricao>
141
+ <local>CTE SAUDE</local>
142
+ <codigo>04293970</codigo>
143
+ <cidade>SAO PAULO</cidade>
144
+ <uf>SP</uf>
145
+ <sto>72620005</sto>
146
+ <destino>
147
+ <local>CTE CAMPINAS</local>
148
+ <codigo>13050971</codigo>
149
+ <cidade>VALINHOS</cidade>
150
+ <bairro>MACUCO</bairro>
151
+ <uf>SP</uf>
152
+ </destino>
153
+ </evento>
154
+ <evento>
155
+ <tipo>RO</tipo>
156
+ <status>01</status>
157
+ <data>07/12/2011</data>
158
+ <hora>18:27</hora>
159
+ <descricao>Encaminhado</descricao>
160
+ <local>ACF CARLOS GOMES</local>
161
+ <codigo>04743970</codigo>
162
+ <cidade>SAO PAULO</cidade>
163
+ <uf>SP</uf>
164
+ <sto>36905968</sto>
165
+ <destino>
166
+ <local>CTE SAUDE</local>
167
+ <codigo>04293970</codigo>
168
+ <cidade>SAO PAULO</cidade>
169
+ <bairro>JARDIM DA SAUDE</bairro>
170
+ <uf>SP</uf>
171
+ </destino>
172
+ </evento>
173
+ <evento>
174
+ <tipo>PO</tipo>
175
+ <status>00</status>
176
+ <data>07/12/2011</data>
177
+ <hora>16:30</hora>
178
+ <descricao>Postado</descricao>
179
+ <local>ACF CARLOS GOMES</local>
180
+ <codigo>04743970</codigo>
181
+ <cidade>SAO PAULO</cidade>
182
+ <uf>SP</uf>
183
+ <sto>36905968</sto>
184
+ </evento>
185
+ </objeto>
186
+ </sroxml>
@@ -0,0 +1,87 @@
1
+ <?xml version="1.0" encoding="iso-8859-1" ?>
2
+ <sroxml>
3
+ <versao>1.0</versao>
4
+ <qtd>1</qtd>
5
+ <TipoPesquisa>Lista de Objetos</TipoPesquisa>
6
+ <TipoResultado>Todos os eventos</TipoResultado>
7
+ <objeto>
8
+ <numero>SI047624825BR</numero>
9
+ <evento>
10
+ <tipo>BDI</tipo>
11
+ <status>01</status>
12
+ <data>26/12/2011</data>
13
+ <hora>15:22</hora>
14
+ <descricao>Entregue</descricao>
15
+ <recebedor> </recebedor>
16
+ <documento> </documento>
17
+ <comentario>?</comentario>
18
+ <local>AC CENTRAL DE SAO PAULO</local>
19
+ <codigo>01009972</codigo>
20
+ <cidade>SAO PAULO</cidade>
21
+ <uf>SP</uf>
22
+ <sto>00024419</sto>
23
+ </evento>
24
+ <evento>
25
+ <tipo>LDI</tipo>
26
+ <status>01</status>
27
+ <data>24/12/2011</data>
28
+ <hora>12:14</hora>
29
+ <descricao>Aguardando retirada</descricao>
30
+ <local>AC CENTRAL DE SAO PAULO</local>
31
+ <codigo>01009972</codigo>
32
+ <cidade>SAO PAULO</cidade>
33
+ <uf>SP</uf>
34
+ <sto>00024419</sto>
35
+ </evento>
36
+ <evento>
37
+ <tipo>RO</tipo>
38
+ <status>01</status>
39
+ <data>24/12/2011</data>
40
+ <hora>06:26</hora>
41
+ <descricao>Encaminhado</descricao>
42
+ <local>CTE VILA MARIA</local>
43
+ <codigo>02170975</codigo>
44
+ <cidade>SAO PAULO</cidade>
45
+ <uf>SP</uf>
46
+ <sto>72626003</sto>
47
+ <destino>
48
+ <local>CDD SE</local>
49
+ <codigo>01009970</codigo>
50
+ <cidade>SAO PAULO</cidade>
51
+ <bairro>CENTRO</bairro>
52
+ <uf>SP</uf>
53
+ </destino>
54
+ </evento>
55
+ <evento>
56
+ <tipo>RO</tipo>
57
+ <status>01</status>
58
+ <data>23/12/2011</data>
59
+ <hora>17:12</hora>
60
+ <descricao>Encaminhado</descricao>
61
+ <local>AC JUNDIAI</local>
62
+ <codigo>13201970</codigo>
63
+ <cidade>JUNDIAI</cidade>
64
+ <uf>SP</uf>
65
+ <sto>74302043</sto>
66
+ <destino>
67
+ <local>CTE VILA MARIA</local>
68
+ <codigo>02170975</codigo>
69
+ <cidade>SAO PAULO</cidade>
70
+ <bairro>PQ NOVO MUNDO</bairro>
71
+ <uf>SP</uf>
72
+ </destino>
73
+ </evento>
74
+ <evento>
75
+ <tipo>PO</tipo>
76
+ <status>00</status>
77
+ <data>23/12/2011</data>
78
+ <hora>11:36</hora>
79
+ <descricao>Postado</descricao>
80
+ <local>AC JUNDIAI</local>
81
+ <codigo>13201970</codigo>
82
+ <cidade>JUNDIAI</cidade>
83
+ <uf>SP</uf>
84
+ <sto>74302043</sto>
85
+ </evento>
86
+ </objeto>
87
+ </sroxml>
metadata CHANGED
@@ -1,125 +1,112 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: correios-sro-xml
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
4
5
  prerelease:
5
- version: 0.0.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Prodis a.k.a. Fernando Hamasaki
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-01-30 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-04-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: log-me
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &11748970 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
18
+ requirements:
20
19
  - - ~>
21
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
22
21
  version: 0.0.2
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *11748970
25
+ - !ruby/object:Gem::Dependency
27
26
  name: nokogiri
28
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &11748730 !ruby/object:Gem::Requirement
29
28
  none: false
30
- requirements:
29
+ requirements:
31
30
  - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 1.5.0
31
+ - !ruby/object:Gem::Version
32
+ version: '1.5'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *11748730
36
+ - !ruby/object:Gem::Dependency
38
37
  name: sax-machine
39
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &11748490 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
40
+ requirements:
42
41
  - - ~>
43
- - !ruby/object:Gem::Version
44
- version: 0.1.0
42
+ - !ruby/object:Gem::Version
43
+ version: '0.1'
45
44
  type: :runtime
46
45
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: bundler
50
- requirement: &id004 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- version: "1.0"
56
- type: :development
57
- prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *11748490
47
+ - !ruby/object:Gem::Dependency
60
48
  name: fakeweb
61
- requirement: &id005 !ruby/object:Gem::Requirement
49
+ requirement: &11748250 !ruby/object:Gem::Requirement
62
50
  none: false
63
- requirements:
51
+ requirements:
64
52
  - - ~>
65
- - !ruby/object:Gem::Version
66
- version: "1.3"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
67
55
  type: :development
68
56
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *11748250
58
+ - !ruby/object:Gem::Dependency
71
59
  name: jeweler
72
- requirement: &id006 !ruby/object:Gem::Requirement
60
+ requirement: &11748010 !ruby/object:Gem::Requirement
73
61
  none: false
74
- requirements:
62
+ requirements:
75
63
  - - ~>
76
- - !ruby/object:Gem::Version
77
- version: "1.8"
64
+ - !ruby/object:Gem::Version
65
+ version: '1.8'
78
66
  type: :development
79
67
  prerelease: false
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *11748010
69
+ - !ruby/object:Gem::Dependency
82
70
  name: rspec
83
- requirement: &id007 !ruby/object:Gem::Requirement
71
+ requirement: &11747770 !ruby/object:Gem::Requirement
84
72
  none: false
85
- requirements:
73
+ requirements:
86
74
  - - ~>
87
- - !ruby/object:Gem::Version
88
- version: "2.8"
75
+ - !ruby/object:Gem::Version
76
+ version: '2.9'
89
77
  type: :development
90
78
  prerelease: false
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *11747770
80
+ - !ruby/object:Gem::Dependency
93
81
  name: ruby-debug
94
- requirement: &id008 !ruby/object:Gem::Requirement
82
+ requirement: &11747530 !ruby/object:Gem::Requirement
95
83
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
100
88
  type: :development
101
89
  prerelease: false
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *11747530
91
+ - !ruby/object:Gem::Dependency
104
92
  name: ruby-debug19
105
- requirement: &id009 !ruby/object:Gem::Requirement
93
+ requirement: &11763670 !ruby/object:Gem::Requirement
106
94
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
111
99
  type: :development
112
100
  prerelease: false
113
- version_requirements: *id009
114
- description: Sistema de Rastreamento de Objetos dos Correios (SRO) utilizando o Web Service SRO XML, que permite a consulta de ate 50 encomendas simultaneamente.
101
+ version_requirements: *11763670
102
+ description: Sistema de Rastreamento de Objetos dos Correios (SRO) utilizando o Web
103
+ Service SRO XML, que permite a consulta de ate 50 encomendas simultaneamente.
115
104
  email: prodis@gmail.com
116
105
  executables: []
117
-
118
106
  extensions: []
119
-
120
- extra_rdoc_files:
107
+ extra_rdoc_files:
121
108
  - README.rdoc
122
- files:
109
+ files:
123
110
  - .rspec
124
111
  - CHANGELOG.rdoc
125
112
  - Gemfile
@@ -136,35 +123,37 @@ files:
136
123
  - lib/correios/sro/rastreador.rb
137
124
  - lib/correios/sro/version.rb
138
125
  - lib/correios/sro/web_service.rb
126
+ - spec/correios/sro/evento_spec.rb
127
+ - spec/correios/sro/parser_spec.rb
139
128
  - spec/correios/sro/rastreador_spec.rb
140
129
  - spec/correios/sro/web_service_spec.rb
141
130
  - spec/spec_helper.rb
131
+ - spec/support/fake_request.rb
132
+ - spec/support/responses/success-response-many-objects.xml
133
+ - spec/support/responses/success-response-one-object.xml
142
134
  homepage: http://github.com/prodis/correios-sro-xml
143
- licenses:
135
+ licenses:
144
136
  - MIT
145
137
  post_install_message:
146
138
  rdoc_options: []
147
-
148
- require_paths:
139
+ require_paths:
149
140
  - lib
150
- required_ruby_version: !ruby/object:Gem::Requirement
141
+ required_ruby_version: !ruby/object:Gem::Requirement
151
142
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
143
+ requirements:
144
+ - - ! '>='
145
+ - !ruby/object:Gem::Version
155
146
  version: 1.8.7
156
- required_rubygems_version: !ruby/object:Gem::Requirement
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
148
  none: false
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- version: "0"
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
162
153
  requirements: []
163
-
164
154
  rubyforge_project:
165
- rubygems_version: 1.8.11
155
+ rubygems_version: 1.8.16
166
156
  signing_key:
167
157
  specification_version: 3
168
158
  summary: Sistema de Rastreamento de Objetos dos Correios (SRO).
169
159
  test_files: []
170
-