postmon_ruby 2.1.3 → 3.0.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- metadata.gz: dc429960d23c97c76958fdc45d22993deef902e8
4
- data.tar.gz: d22c8bd81dffd60a0ab63e28df7250122940d01b
5
- SHA512:
6
- metadata.gz: cc78ea2b3bcf34e1bec7470b9444b5ef46d2dc0ba2c0603c86ca42cb4adfa53271f51bf28d90ce43fd4931857b5eb9be585f9bc383673e32eab91332a7fa83db
7
- data.tar.gz: e03683ff296935ceeb5dd86e0f91c67c3a00a553dc4f716e376059f03773b8c553d6fc463523d0b83f07e2d55020abd347e99d5274f4ec8cea36596390e0acfe
1
+ ---
2
+ SHA1:
3
+ data.tar.gz: 30f1b8a965d093ec41b5dc99c4439be4c4bf2352
4
+ metadata.gz: ca37ddb91f9690f52307fdc011ced0a12d0b7efd
5
+ SHA512:
6
+ data.tar.gz: 69a7601c53867846ab7fb90044b406a7812d1fc4098502a22807d058be059ff66d089a491f3e9225c834d490b4bc45be7fcb78ba2325cd4606c964c7d4e2a3f9
7
+ metadata.gz: 2f571d9ef5c274a6da7ee3da96168651f12523e5dd042d6d711efd37bf102b9b1cd3ed0b34bccc18587dd7e30d23594ae5dda0a8b8b2031c0d276d8a708dbe06
data/README.md CHANGED
@@ -45,52 +45,7 @@ puts resultado.nome
45
45
  ```
46
46
 
47
47
  ###Para consultar pelo terminal
48
- #### Consultar pelo CEP:
49
-
50
- $ postmon-ruby --cep 49015040
51
-
52
- Complemento: lado ímpar
53
- Bairro: São José
54
- Cidade: Aracaju
55
- Logradouro: Avenida Barão de Maruim
56
- Estado: SE
57
- Cep: 49015040
58
-
59
- #### Consultar informações de uma cidade:
60
-
61
- $ postmon-ruby --cidade SE,Aracaju
62
-
63
- Area_km2: 181,857
64
- Codigo_ibge: 2800308
65
-
66
- #### Consultar informações de um estado:
67
-
68
- $ postmon-ruby --estado SE
69
-
70
- Area_km2: 21.915,116
71
- Codigo_ibge: 28
72
- Nome: Sergipe
73
-
74
- #### Consultar informações de rastreio de um pacote:
75
-
76
- $ postmon-ruby --rastreio RF223325059SG
77
-
78
- Codigo: RF223325059SG
79
- Servico: ect
80
- detalhes: Em trвnsito para UNIDADE DE TRATAMENTO INTERNACIONAL - BRASIL
81
- local: CINGAPURA
82
- data: 11/04/2014 14:04
83
- situacao: Encaminhado
84
-
85
- #### Menu de opções:
86
-
87
- $ postmon-ruby -h
88
-
89
- Usage postmon [options]
90
- --cep CEP Consultar CEP
91
- --cidade UF,Cidade Consultar informações de uma cidade
92
- --estado UF Consultar informações de um estado
93
- --rastreio CODIGO_POSTAGEM Consultar informações de rastreio de um pacote
48
+ A comand-line-interface para consultar ceps, informações do IBGE e rastreio de pacotes diretamente do terminal foi separada em outro projeto. PostmonCLI(https://github.com/PostmonAPI/postmon-cli)
94
49
 
95
50
  ## Contributing
96
51
 
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task default: :spec
6
+ task :default => :spec
7
7
 
8
8
  task :console do
9
9
  exec "irb -I ./lib -r postmon_ruby"
data/lib/postmon_ruby.rb CHANGED
@@ -1,9 +1,10 @@
1
1
  require "postmon_ruby/version"
2
+ require "json"
3
+ require "postmon_ruby/http/http"
2
4
  require "postmon_ruby/client"
3
5
  require "postmon_ruby/city"
4
6
  require "postmon_ruby/state"
5
7
  require "postmon_ruby/address"
6
- require "postmon_ruby/gem_output"
7
8
  require "postmon_ruby/track"
8
9
  require "postmon_ruby/finders/finder"
9
10
  require "postmon_ruby/finders/cep_finder"
@@ -12,7 +13,7 @@ require "postmon_ruby/finders/state_finder"
12
13
  require "postmon_ruby/finders/tracker/ect_tracker_finder"
13
14
  require "postmon_ruby/finders/tracker_finder"
14
15
  require "postmon_ruby/finders/finders"
15
- require "httparty"
16
+ require "net/http"
16
17
 
17
18
  module PostmonRuby
18
19
  ENDPOINT = "http://api.postmon.com.br/v1"
@@ -5,7 +5,7 @@ module PostmonRuby
5
5
  attr_reader :not_found, *@@address_attributes
6
6
 
7
7
  def initialize(options={})
8
- @not_found = true if options.nil?
8
+ @not_found = true if options.not_found?
9
9
  @@address_attributes.each do |attribute|
10
10
  send(:"#{attribute}=", options[attribute.to_s] || "")
11
11
  end
@@ -5,7 +5,7 @@ module PostmonRuby
5
5
  attr_reader :not_found, *@@city_attributes
6
6
 
7
7
  def initialize(options={})
8
- @not_found = true if options.nil?
8
+ @not_found = true if options.not_found?
9
9
  @@city_attributes.each do |attribute|
10
10
  send(:"#{attribute}=", options[attribute.to_s] || "")
11
11
  end
@@ -3,7 +3,6 @@ module PostmonRuby
3
3
  def self.search(finder, *arguments)
4
4
  arguments.flatten!
5
5
  PostmonRuby::Finders::Finder.new.search(finder, arguments)
6
- # PostmonRuby::Finders::Finders.get_finder(finder).search(arguments)
7
6
  end
8
7
  end
9
8
  end
@@ -11,7 +11,7 @@ module PostmonRuby
11
11
 
12
12
  def search(*arguments)
13
13
  arguments.flatten!
14
- PostmonRuby::Address.new( HTTParty.get(self.arguments_uri(arguments)) )
14
+ PostmonRuby::Address.new(PostmonRuby::Http.get(self.arguments_uri(arguments)))
15
15
  end
16
16
  end
17
17
  end
@@ -11,7 +11,7 @@ module PostmonRuby
11
11
 
12
12
  def search(*arguments)
13
13
  arguments.flatten!
14
- PostmonRuby::City.new( HTTParty.get(self.arguments_uri(arguments)) )
14
+ PostmonRuby::City.new( PostmonRuby::Http.get(self.arguments_uri(arguments)) )
15
15
  end
16
16
  end
17
17
  end
@@ -17,7 +17,7 @@ module PostmonRuby
17
17
  end
18
18
 
19
19
  def arguments_uri(arguments)
20
- URI::encode("#{ENDPOINT}/#{self.endpoint}/#{arguments.join("/")}")
20
+ URI(URI::encode("#{ENDPOINT}/#{self.endpoint}/#{arguments.join("/")}"))
21
21
  end
22
22
  end
23
23
  end
@@ -2,10 +2,10 @@ module PostmonRuby
2
2
  module Finders
3
3
  class Finders
4
4
  @finders = {
5
- cep: PostmonRuby::Finders::CepFinder.new,
6
- cidade: PostmonRuby::Finders::CityFinder.new,
7
- estado: PostmonRuby::Finders::StateFinder.new,
8
- rastreio: PostmonRuby::Finders::TrackerFinder.new
5
+ :cep => PostmonRuby::Finders::CepFinder.new,
6
+ :cidade => PostmonRuby::Finders::CityFinder.new,
7
+ :estado => PostmonRuby::Finders::StateFinder.new,
8
+ :rastreio => PostmonRuby::Finders::TrackerFinder.new
9
9
  }
10
10
 
11
11
  def self.get_finder(finder)
@@ -11,7 +11,7 @@ module PostmonRuby
11
11
 
12
12
  def search(*arguments)
13
13
  arguments.flatten!
14
- PostmonRuby::State.new( HTTParty.get(self.arguments_uri(arguments)) )
14
+ PostmonRuby::State.new( PostmonRuby::Http.get(self.arguments_uri(arguments)) )
15
15
  end
16
16
  end
17
17
  end
@@ -12,7 +12,7 @@ module PostmonRuby
12
12
 
13
13
  def search(*arguments)
14
14
  arguments.flatten!
15
- PostmonRuby::Track.new( HTTParty.get(self.arguments_uri(arguments)) )
15
+ PostmonRuby::Track.new( PostmonRuby::Http.get(self.arguments_uri(arguments)) )
16
16
  end
17
17
  end
18
18
  end
@@ -2,7 +2,7 @@ module PostmonRuby
2
2
  module Finders
3
3
  class TrackerFinder < PostmonRuby::Finders::Finder
4
4
  @@trackers = {
5
- ect: PostmonRuby::Finders::Tracker::ECTTrackerFinder.new
5
+ :ect => PostmonRuby::Finders::Tracker::ECTTrackerFinder.new
6
6
  }
7
7
  def arguments_size
8
8
  2
@@ -0,0 +1,26 @@
1
+ module PostmonRuby
2
+ class Http
3
+ def self.get(uri)
4
+ instance = PostmonRuby::Http.new
5
+ instance.instance_variable_set("@response", Net::HTTP.get_response(uri))
6
+ instance
7
+ end
8
+
9
+ def [](key)
10
+ @json = json unless @json
11
+ @json[key]
12
+ end
13
+
14
+ def not_found?
15
+ @response.is_a?(Net::HTTPNotFound)
16
+ end
17
+
18
+ private
19
+
20
+ def json
21
+ return {} if not_found?
22
+ JSON.parse(@response.body)
23
+ end
24
+
25
+ end
26
+ end
@@ -5,7 +5,7 @@ module PostmonRuby
5
5
  attr_reader :not_found, *@@state_attributes
6
6
 
7
7
  def initialize(options={})
8
- @not_found = true if options.nil?
8
+ @not_found = true if options.not_found?
9
9
  @@state_attributes.each do |attribute|
10
10
  send(:"#{attribute}=", options[attribute.to_s] || "")
11
11
  end
@@ -7,7 +7,7 @@ module PostmonRuby
7
7
  attr_reader :historico
8
8
 
9
9
  def initialize(options={})
10
- @not_found = true if options.nil?
10
+ @not_found = true if options.not_found?
11
11
  @@track_attributes.each do |attribute|
12
12
  send(:"#{attribute}=", options[attribute.to_s] || "")
13
13
  end
@@ -1,3 +1,3 @@
1
1
  module PostmonRuby
2
- VERSION = "2.1.3"
2
+ VERSION = "3.0.0"
3
3
  end
data/postmon_ruby.gemspec CHANGED
@@ -14,11 +14,11 @@ Gem::Specification.new do |spec|
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
17
- spec.executables = 'postmon-ruby'
17
+ spec.executables = ''
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["./lib"]
20
20
 
21
- spec.add_dependency "httparty", "~> 0.13"
21
+ spec.add_dependency "json", "~> 1.8.1"
22
22
  spec.add_development_dependency "bundler", "~> 1.3"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "pry"
metadata CHANGED
@@ -1,114 +1,89 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: postmon_ruby
3
- version: !ruby/object:Gem::Version
4
- version: 2.1.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Carlos Ribeiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-05 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: httparty
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
11
+
12
+ date: 2014-05-08 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
+ requirements:
17
18
  - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '0.13'
20
- type: :runtime
19
+ - !ruby/object:Gem::Version
20
+ version: 1.8.1
21
21
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '0.13'
27
- - !ruby/object:Gem::Dependency
22
+ requirement: *id001
23
+ type: :runtime
24
+ - !ruby/object:Gem::Dependency
28
25
  name: bundler
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
26
+ version_requirements: &id002 !ruby/object:Gem::Requirement
27
+ requirements:
31
28
  - - ~>
32
- - !ruby/object:Gem::Version
33
- version: '1.3'
34
- type: :development
29
+ - !ruby/object:Gem::Version
30
+ version: "1.3"
35
31
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- version: '1.3'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
32
+ requirement: *id002
48
33
  type: :development
34
+ - !ruby/object:Gem::Dependency
35
+ name: rake
36
+ version_requirements: &id003 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - &id004
39
+ - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: "0"
49
42
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
43
+ requirement: *id003
62
44
  type: :development
45
+ - !ruby/object:Gem::Dependency
46
+ name: pry
47
+ version_requirements: &id005 !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - *id004
63
50
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
51
+ requirement: *id005
76
52
  type: :development
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ version_requirements: &id006 !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - *id004
77
58
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
59
+ requirement: *id006
60
+ type: :development
61
+ - !ruby/object:Gem::Dependency
84
62
  name: webmock
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
63
+ version_requirements: &id007 !ruby/object:Gem::Requirement
64
+ requirements:
87
65
  - - ~>
88
- - !ruby/object:Gem::Version
89
- version: '1.17'
90
- type: :development
66
+ - !ruby/object:Gem::Version
67
+ version: "1.17"
91
68
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ~>
95
- - !ruby/object:Gem::Version
96
- version: '1.17'
69
+ requirement: *id007
70
+ type: :development
97
71
  description: A rubygem to access the Postmon API
98
- email:
72
+ email:
99
73
  - mail@carlosribeiro.me
100
- executables:
101
- - postmon-ruby
74
+ executables: []
75
+
102
76
  extensions: []
77
+
103
78
  extra_rdoc_files: []
104
- files:
79
+
80
+ files:
105
81
  - .gitignore
106
82
  - .rspec
107
83
  - Gemfile
108
84
  - LICENSE.txt
109
85
  - README.md
110
86
  - Rakefile
111
- - bin/postmon-ruby
112
87
  - lib/postmon_ruby.rb
113
88
  - lib/postmon_ruby/address.rb
114
89
  - lib/postmon_ruby/city.rb
@@ -120,7 +95,7 @@ files:
120
95
  - lib/postmon_ruby/finders/state_finder.rb
121
96
  - lib/postmon_ruby/finders/tracker/ect_tracker_finder.rb
122
97
  - lib/postmon_ruby/finders/tracker_finder.rb
123
- - lib/postmon_ruby/gem_output.rb
98
+ - lib/postmon_ruby/http/http.rb
124
99
  - lib/postmon_ruby/state.rb
125
100
  - lib/postmon_ruby/track.rb
126
101
  - lib/postmon_ruby/version.rb
@@ -132,30 +107,29 @@ files:
132
107
  - spec/postmon_ruby/state_finder_spec.rb
133
108
  - spec/spec_helper.rb
134
109
  homepage: https://github.com/PostmonAPI/postmon-ruby
135
- licenses:
110
+ licenses:
136
111
  - MIT
137
112
  metadata: {}
113
+
138
114
  post_install_message:
139
115
  rdoc_options: []
140
- require_paths:
116
+
117
+ require_paths:
141
118
  - ./lib
142
- required_ruby_version: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - '>='
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- required_rubygems_version: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - '>='
150
- - !ruby/object:Gem::Version
151
- version: '0'
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - *id004
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - *id004
152
125
  requirements: []
126
+
153
127
  rubyforge_project:
154
- rubygems_version: 2.2.2
128
+ rubygems_version: 2.0.14
155
129
  signing_key:
156
130
  specification_version: 4
157
131
  summary: A rubygem to access the Postmon API
158
- test_files:
132
+ test_files:
159
133
  - spec/postmon_ruby/cep_finder_spec.rb
160
134
  - spec/postmon_ruby/city_finder_spec.rb
161
135
  - spec/postmon_ruby/client_spec.rb
data/bin/postmon-ruby DELETED
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #encoding: UTF-8
3
-
4
- require 'optparse'
5
- require 'postmon_ruby'
6
-
7
- options = {}
8
-
9
- OptionParser.new do |opts|
10
- opts.banner = "Usage postmon [options]"
11
- opts.on("--cep CEP", String, "Consultar CEP") do |cep|
12
- options[:cep] = cep
13
- end
14
-
15
- opts.on("--cidade UF,Cidade", Array, "Consultar informações de uma cidade") do |uf_cidade|
16
- options[:cidade] = uf_cidade
17
- end
18
-
19
- opts.on("--estado UF", String, "Consultar informações de um estado") do |uf|
20
- options[:estado] = uf
21
- end
22
-
23
- opts.on("--rastreio CODIGO_POSTAGEM", String, "Consultar informações de rastreio de um pacote") do |rastreio|
24
- options[:rastreio] = rastreio
25
- end
26
- end.parse!
27
-
28
- PostmonRuby::GemOutput.get_info(options)
@@ -1,67 +0,0 @@
1
- module PostmonRuby
2
- class GemOutput
3
- def self.get_info(options)
4
- unless options[:cep].nil?
5
- cep(options[:cep])
6
- end
7
-
8
- unless options[:cidade].nil?
9
- cidade(options[:cidade].first, options[:cidade].last)
10
- end
11
-
12
- unless options[:estado].nil?
13
- estado(options[:estado])
14
- end
15
-
16
- unless options[:rastreio].nil?
17
- rastreio(options[:rastreio])
18
- end
19
- end
20
-
21
- private
22
- def self.cep(cep)
23
- resultado = Client.search :cep, cep
24
- output_variables(resultado)
25
- end
26
-
27
- def self.cidade(uf, cidade)
28
- resultado = Client.search :cidade, uf, cidade
29
- output_variables(resultado)
30
- end
31
-
32
- def self.estado(uf)
33
- resultado = PostmonRuby::Client.search :estado, uf
34
- output_variables(resultado)
35
- end
36
-
37
- def self.rastreio(rastreio)
38
- resultado = PostmonRuby::Client.search :rastreio, :ect, rastreio
39
- output_variables(resultado)
40
- end
41
-
42
- def self.output_variables(resultado)
43
- if resultado.not_found
44
- puts "Nenhum resultado encontrado."
45
- else
46
- info = {}
47
-
48
- resultado.instance_variables.each do |var|
49
- info[var.to_s.delete("@").capitalize] = resultado.instance_variable_get(var)
50
- end
51
-
52
- print_array_output(info)
53
- end
54
- end
55
-
56
- def self.print_array_output(array, level = 0)
57
- array.each do |k, v|
58
- print "\t" if level > 0
59
- if(v.kind_of?(Enumerable) || k.kind_of?(Enumerable))
60
- print_array_output(v||k, 1)
61
- else
62
- puts "#{k}: #{v}"
63
- end
64
- end
65
- end
66
- end
67
- end