brasil-estados 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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