ibge 0.1.0 → 0.2.0

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: 6bb4210540e49df0ba3f713e8b414c58d4e7b422
4
- data.tar.gz: 7dfaab976499b7e3ed845d4577450a29a1a90b8d
3
+ metadata.gz: 80232f32e1ca3fe301c1abfe7a5a87981df49c71
4
+ data.tar.gz: bc5e203e2309aa62d263418a9b5d4fec2807b60e
5
5
  SHA512:
6
- metadata.gz: 3dd4c04e05bc163d669871436d886c4dc6f3c7a5c7cabf968cac1690dccd7c1e966b365409296ddb594e03ae42fdadaa6256da827be86c73861f55b6a35888a9
7
- data.tar.gz: 9b34cfd88f22b2fa56671f5b91f37c47365c31a8652326a0a28535f1a11ec5c82b754a097f6a5025288726f162ac357ea6d4fb710595459a46d2b88f4a21ef4a
6
+ metadata.gz: d51d20081b0f09a6096f3f881d77bb6468528fbf604a85c9ff042390abc875ca3d4921ea046e26ac4e0d6d5d73986ef6b9a93e87377211c1b7744ce9898231f8
7
+ data.tar.gz: 9c5c550044bd2d2cff27b079b97ec40d1ef4056ef48419b8e707e62f9cc2057ec857e4d9cdd3df1531d048f8e8049fe24b2312a62a56b8dcc1734157e46787a2
data/data/sidra.xls ADDED
Binary file
@@ -4,11 +4,28 @@ module Ibge
4
4
  module Reader
5
5
  class Base
6
6
  class << self
7
- attr_reader :defined_columns
7
+ SOURCES = {
8
+ dtb: 'DTB_2014_subdistrito.xls',
9
+ sidra: 'sidra.xls'
10
+ }
11
+
12
+ attr_reader :defined_columns, :selected_source
8
13
 
9
14
  def columns(columns = {})
10
15
  @defined_columns = columns
11
16
  end
17
+
18
+ def source(selected_source = :dtb)
19
+ unless SOURCES.keys.include?(selected_source)
20
+ raise ArgumentError, "Source must be one of those '#{SOURCES.keys.flatten.join(', ')}'"
21
+ end
22
+
23
+ @selected_source = selected_source
24
+ end
25
+
26
+ def sources
27
+ SOURCES
28
+ end
12
29
  end
13
30
 
14
31
  attr_reader :filename
@@ -32,7 +49,7 @@ module Ibge
32
49
  protected
33
50
 
34
51
  def default_filename
35
- File.join DATA_PATH, 'DTB_2014_subdistrito.xls'
52
+ File.join DATA_PATH, sources[selected_source]
36
53
  end
37
54
 
38
55
  def spreadsheet
@@ -47,8 +64,20 @@ module Ibge
47
64
  @rows ||= sheet.rows
48
65
  end
49
66
 
67
+ def selected_source
68
+ self.class.selected_source || :dtb
69
+ end
70
+
71
+ def sources
72
+ self.class.sources
73
+ end
74
+
75
+ def defined_columns
76
+ self.class.defined_columns
77
+ end
78
+
50
79
  def column_keys
51
- self.class.defined_columns.keys.map(&:to_s).map(&:to_i)
80
+ defined_columns.keys.map(&:to_s).map(&:to_i)
52
81
  end
53
82
 
54
83
  def column_range
@@ -0,0 +1,11 @@
1
+ module Ibge
2
+ module Reader
3
+ class Neighborhood < Base
4
+ source :sidra
5
+
6
+ columns "0": :state_code,
7
+ "3": :municipality_full_code,
8
+ "5": :name
9
+ end
10
+ end
11
+ end
@@ -1,8 +1,11 @@
1
1
  module Ibge
2
2
  module Reader
3
3
  class State < Base
4
+ source :sidra
5
+
4
6
  columns "0": :code,
5
- "1": :state_name
7
+ "1": :state_name,
8
+ "2": :state_federative_unit
6
9
  end
7
10
  end
8
11
  end
data/lib/ibge/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ibge
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/ibge.rb CHANGED
@@ -13,5 +13,6 @@ module Ibge
13
13
  autoload :Municipality, 'ibge/reader/municipality'
14
14
  autoload :District, 'ibge/reader/district'
15
15
  autoload :SubDistrict, 'ibge/reader/sub_district'
16
+ autoload :Neighborhood, 'ibge/reader/neighborhood'
16
17
  end
17
18
  end
@@ -2,6 +2,8 @@ require 'spec_helper'
2
2
 
3
3
  describe Ibge::Reader::Base do
4
4
  class Reader < Ibge::Reader::Base
5
+ source :sidra
6
+
5
7
  columns "0": :code
6
8
  end
7
9
 
@@ -31,9 +33,15 @@ describe Ibge::Reader::Base do
31
33
  end
32
34
  end
33
35
 
36
+ describe '.selected_source' do
37
+ it 'show the default file source to read' do
38
+ expect(subject.selected_source).to eq :sidra
39
+ end
40
+ end
41
+
34
42
  describe '#filename' do
35
43
  it 'sets the default to file inside data folder' do
36
- expect(subject.new.filename).to include 'data/DTB_2014_subdistrito.xls'
44
+ expect(subject.new.filename).to include 'data/sidra.xls'
37
45
  end
38
46
  end
39
47
  end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe Ibge::Reader::Neighborhood do
4
+ subject { described_class }
5
+
6
+ it 'should have defined columns' do
7
+ expect(subject.defined_columns).to include "0": :state_code, "3": :municipality_full_code, "5": :name
8
+ end
9
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno Arueira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-23 00:00:00.000000000 Z
11
+ date: 2015-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spreadsheet
@@ -68,6 +68,7 @@ files:
68
68
  - README.md
69
69
  - Rakefile
70
70
  - data/DTB_2014_subdistrito.xls
71
+ - data/sidra.xls
71
72
  - ibge.gemspec
72
73
  - lib/ibge.rb
73
74
  - lib/ibge/reader/base.rb
@@ -75,6 +76,7 @@ files:
75
76
  - lib/ibge/reader/meso_region.rb
76
77
  - lib/ibge/reader/micro_region.rb
77
78
  - lib/ibge/reader/municipality.rb
79
+ - lib/ibge/reader/neighborhood.rb
78
80
  - lib/ibge/reader/state.rb
79
81
  - lib/ibge/reader/sub_district.rb
80
82
  - lib/ibge/version.rb
@@ -84,6 +86,7 @@ files:
84
86
  - spec/ibge/reader/meso_region_spec.rb
85
87
  - spec/ibge/reader/micro_region_spec.rb
86
88
  - spec/ibge/reader/municipality_spec.rb
89
+ - spec/ibge/reader/neighborhood_spec.rb
87
90
  - spec/ibge/reader/state_spec.rb
88
91
  - spec/ibge/reader/sub_district_spec.rb
89
92
  - spec/spec_helper.rb
@@ -107,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
110
  version: '0'
108
111
  requirements: []
109
112
  rubyforge_project:
110
- rubygems_version: 2.4.6
113
+ rubygems_version: 2.4.5
111
114
  signing_key:
112
115
  specification_version: 4
113
116
  summary: Unofficial gem with a bunch of data collected by ibge
@@ -118,6 +121,7 @@ test_files:
118
121
  - spec/ibge/reader/meso_region_spec.rb
119
122
  - spec/ibge/reader/micro_region_spec.rb
120
123
  - spec/ibge/reader/municipality_spec.rb
124
+ - spec/ibge/reader/neighborhood_spec.rb
121
125
  - spec/ibge/reader/state_spec.rb
122
126
  - spec/ibge/reader/sub_district_spec.rb
123
127
  - spec/spec_helper.rb