brasil-estados 0.2.0 → 0.2.1

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
1
  ---
2
2
  SHA1:
3
- metadata.gz: f30bf3956863970deb8cea4442d5978e9c755bb3
4
- data.tar.gz: 87e7945d219da857dc00fcb3d6bfaf6296334e01
3
+ metadata.gz: f52ecdb1d2f6a4a2807c3f56d84ce8a139c4015c
4
+ data.tar.gz: a6597b90465cd3ca63510b494fcc8de675b97033
5
5
  SHA512:
6
- metadata.gz: 57b1a823a978bda3bab8813bad5255f4c5292d443f33587381a9d631ee621c0ad5faee3b712d804c9ec9cce6484907ae704f41d0927ca540aeb884c402388231
7
- data.tar.gz: d352bbac9b701915ec9e1255ad3549c75585e932a862ba3f614ff9a2331c081575d1705de7d336c615f9cae8d7a61a0346728626fcfb32d4d5754645ce2fc28a
6
+ metadata.gz: ef098d625c9c3c2950d1990a9c592551cfbed0e7cc976738e20946a284c009d51909fda8d41a61b3821ba74b1d516f65169a73a7c4be7b2987ee31e6d0bad649
7
+ data.tar.gz: 05b9307afc546b97ede52f7ec869b68aa57658e017d76a3cfee27eba107f95420268958f5166ced3d9dac18d93cc26e65a924e456588ac8a05115f9be3ae5aa1
@@ -1,5 +1,5 @@
1
1
  require_relative 'brasil-estados/estados'
2
2
 
3
3
  module Brasil
4
-
4
+
5
5
  end
@@ -1,23 +1,39 @@
1
+ require_relative 'estado_mapper'
2
+
1
3
  module Brasil
4
+ include EstadoMapper
5
+
2
6
  class Estado
3
7
  attr_reader :nome, :sigla, :capital, :regiao
4
8
 
5
9
  def initialize(sigla)
6
- map_estado(sigla.to_sym)
10
+ map_estado(sigla.upcase.to_sym)
7
11
  end
8
12
 
9
13
  def self.siglas
10
- ESTADOS.keys.map(&:to_s)
14
+ EstadoMapper::ESTADOS.keys.map(&:to_s)
11
15
  end
12
16
 
13
17
  def self.nomes
14
- ESTADOS.values.map { |estado| estado[:nome] }
18
+ EstadoMapper::ESTADOS.values.map { |estado| estado[:nome] }
19
+ end
20
+
21
+ def self.by_regiao(regiao, info_requested = nil)
22
+ estados = []
23
+ EstadoMapper::ESTADOS.each_pair do |sigla, estado|
24
+ if estado[:regiao] == sanitize(regiao)
25
+ estados << Brasil::Estado.new(sigla)
26
+ end
27
+ end
28
+
29
+ estados
15
30
  end
16
31
 
17
32
  # English aliases
18
33
  class <<self
19
34
  alias_method :names, :nomes
20
35
  alias_method :abbreviations, :siglas
36
+ alias_method :by_region, :by_regiao
21
37
  end
22
38
  alias_method :region, :regiao
23
39
  alias_method :name, :nome
@@ -26,70 +42,16 @@ module Brasil
26
42
 
27
43
  private
28
44
 
45
+ def self.sanitize(regiao)
46
+ regiao.downcase.capitalize.sub("-o", "-O")
47
+ end
48
+
29
49
  def map_estado(sigla)
30
- estado = ESTADOS[sigla]
50
+ estado = EstadoMapper::ESTADOS[sigla]
31
51
  @nome = estado[:nome]
32
52
  @capital = estado[:capital]
33
53
  @regiao = estado[:regiao]
34
54
  @sigla = sigla.to_s
35
55
  end
36
-
37
- ESTADOS =
38
- {
39
- AC: {
40
- nome: "Acre", capital: "Rio Branco", regiao: "Norte" },
41
- AL: {
42
- nome: "Alagoas", capital: "Maceió", regiao: "Nordeste" },
43
- AP: {
44
- nome: "Amapá", capital: "Macapá", regiao: "Norte" },
45
- AM: {
46
- nome: "Amazonas", capital: "Manaus", regiao: "Norte" },
47
- BA: {
48
- nome: "Bahia", capital: "Salvador" , regiao: "Nordeste" },
49
- CE: {
50
- nome: "Ceará", capital: "Fortaleza", regiao: "Nordeste" },
51
- DF: {
52
- nome: "Distrito Federal", capital: "Brasília", regiao: "Centro-Oeste" },
53
- ES: {
54
- nome: "Espírito Santo", capital: "Vitória", regiao: "Sudeste" },
55
- GO: {
56
- nome: "Goiás", capital: "Goiânia", regiao: "Centro-Oeste" },
57
- MA: {
58
- nome: "Maranhão", capital: "São Luís", regiao: "Nordeste" },
59
- MT: {
60
- nome: "Mato Grosso", capital: "Cuiabá", regiao: "Centro-Oeste" },
61
- MS: {
62
- nome: "Mato Grosso do Sul", capital: "Campo Grande", regiao: "Centro-Oeste" },
63
- MG: {
64
- nome: "Minas Gerais", capital: "Belo Horizonte", regiao: "Sudeste" },
65
- PA: {
66
- nome: "Pará", capital: "Belém", regiao: "Norte" },
67
- PB: {
68
- nome: "Paraíba", capital: "João Pessoa", regiao: "Nordeste" },
69
- PR: {
70
- nome: "Paraná", capital: "Curitiba", regiao: "Sul" },
71
- PE: {
72
- nome: "Pernambuco", capital: "Recife", regiao: "Nordeste" },
73
- PI: {
74
- nome: "Piauí", capital: "Teresina", regiao: "Nordeste" },
75
- RJ: {
76
- nome: "Rio de Janeiro", capital: "Rio de Janeiro", regiao: "Sudeste" },
77
- RN: {
78
- nome: "Rio Grande do Norte", capital: "Natal", regiao: "Nordeste" },
79
- RS: {
80
- nome: "Rio Grande do Sul", capital: "Porto Alegre", regiao: "Sul" },
81
- RO: {
82
- nome: "Rondônia", capital: "Porto Velho", regiao: "Norte" },
83
- RR: {
84
- nome: "Roraima", capital: "Boa Vista", regiao: "Norte" },
85
- SC: {
86
- nome: "Santa Catarina", capital: "Florianópolis", regiao: "Sul" },
87
- SP: {
88
- nome: "São Paulo", capital: "São Paulo", regiao: "Sudeste" },
89
- SE: {
90
- nome: "Sergipe", capital: "Aracaju", regiao: "Nordeste" },
91
- TO: {
92
- nome: "Tocantins", capital: "Palmas", regiao: "Norte" }
93
- }
94
56
  end
95
57
  end
@@ -0,0 +1,139 @@
1
+ module EstadoMapper
2
+ ESTADOS =
3
+ {
4
+ AC: {
5
+ nome: "Acre",
6
+ capital: "Rio Branco",
7
+ regiao: "Norte"},
8
+
9
+ AL: {
10
+ nome: "Alagoas",
11
+ capital: "Maceió",
12
+ regiao: "Nordeste"},
13
+
14
+ AP: {
15
+ nome: "Amapá",
16
+ capital: "Macapá",
17
+ regiao: "Norte"},
18
+
19
+ AM: {
20
+ nome: "Amazonas",
21
+ capital: "Manaus",
22
+ regiao: "Norte"},
23
+
24
+ BA: {
25
+ nome: "Bahia",
26
+ capital: "Salvador" ,
27
+ regiao: "Nordeste"},
28
+
29
+ CE: {
30
+ nome: "Ceará",
31
+ capital: "Fortaleza",
32
+ regiao: "Nordeste"},
33
+
34
+ DF: {
35
+ nome: "Distrito Federal",
36
+ capital: "Brasília",
37
+ regiao: "Centro-Oeste"},
38
+
39
+ ES: {
40
+ nome: "Espírito Santo",
41
+ capital: "Vitória",
42
+ regiao: "Sudeste"},
43
+
44
+ GO: {
45
+ nome: "Goiás",
46
+ capital: "Goiânia",
47
+ regiao: "Centro-Oeste"},
48
+
49
+ MA: {
50
+ nome: "Maranhão",
51
+ capital: "São Luís",
52
+ regiao: "Nordeste"},
53
+
54
+ MT: {
55
+ nome: "Mato Grosso",
56
+ capital: "Cuiabá",
57
+ regiao: "Centro-Oeste"},
58
+
59
+ MS: {
60
+ nome: "Mato Grosso do Sul",
61
+ capital: "Campo Grande",
62
+ regiao: "Centro-Oeste"},
63
+
64
+ MG: {
65
+ nome: "Minas Gerais",
66
+ capital: "Belo Horizonte",
67
+ regiao: "Sudeste"},
68
+
69
+ PA: {
70
+ nome: "Pará",
71
+ capital: "Belém",
72
+ regiao: "Norte"},
73
+
74
+ PB: {
75
+ nome: "Paraíba",
76
+ capital: "João Pessoa",
77
+ regiao: "Nordeste"},
78
+
79
+ PR: {
80
+ nome: "Paraná",
81
+ capital: "Curitiba",
82
+ regiao: "Sul"},
83
+
84
+ PE: {
85
+ nome: "Pernambuco",
86
+ capital: "Recife",
87
+ regiao: "Nordeste"},
88
+
89
+ PI: {
90
+ nome: "Piauí",
91
+ capital: "Teresina",
92
+ regiao: "Nordeste"},
93
+
94
+ RJ: {
95
+ nome: "Rio de Janeiro",
96
+ capital: "Rio de Janeiro",
97
+ regiao: "Sudeste"},
98
+
99
+ RN: {
100
+ nome: "Rio Grande do Norte",
101
+ capital: "Natal",
102
+ regiao: "Nordeste"},
103
+
104
+ RS: {
105
+ nome: "Rio Grande do Sul",
106
+ capital: "Porto Alegre",
107
+ regiao: "Sul"},
108
+
109
+ RO: {
110
+ nome: "Rondônia",
111
+ capital: "Porto Velho",
112
+ regiao: "Norte"},
113
+
114
+ RR: {
115
+ nome: "Roraima",
116
+ capital: "Boa Vista",
117
+ regiao: "Norte"},
118
+
119
+ SC: {
120
+ nome: "Santa Catarina",
121
+ capital: "Florianópolis",
122
+ regiao: "Sul"},
123
+
124
+ SP: {
125
+ nome: "São Paulo",
126
+ capital: "São Paulo",
127
+ regiao: "Sudeste"},
128
+
129
+ SE: {
130
+ nome: "Sergipe",
131
+ capital: "Aracaju",
132
+ regiao: "Nordeste"},
133
+
134
+ TO: {
135
+ nome: "Tocantins",
136
+ capital: "Palmas",
137
+ regiao: "Norte" }
138
+ }
139
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brasil-estados
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Fleury
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-05 00:00:00.000000000 Z
11
+ date: 2016-04-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Brasil Estados is a Ruby Gem for accessing information about states from
14
14
  Brazil
@@ -19,6 +19,7 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - lib/brasil-estados.rb
21
21
  - lib/brasil-estados/estado.rb
22
+ - lib/brasil-estados/estado_mapper.rb
22
23
  homepage: http://rubygems.org/gems/brasil-estados
23
24
  licenses:
24
25
  - MIT