indonesia 0.5.0 → 0.6.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 +5 -5
- data/.gitignore +0 -1
- data/README.md +0 -59
- data/lib/indonesia.rb +5 -28
- data/lib/indonesia/finder.rb +31 -0
- data/lib/indonesia/version.rb +2 -2
- metadata +4 -8
- data/lib/indonesia/district.rb +0 -14
- data/lib/indonesia/province.rb +0 -8
- data/lib/indonesia/regency.rb +0 -14
- data/lib/indonesia/village.rb +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: aa65565e8072d925524bb37fc4e4d771f43c8e66e969491262d366d07d63f141
|
|
4
|
+
data.tar.gz: e97af4cbc6b15cbc70566cd9c63a71e27e9af1310475ff7bb6ee90dfd90d5325
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2a1f89d435ccd8269058ad742b5f6a8174f9aee0b7efa62f1ddd76624e1510ee56789b9011672ef75b50f8dc0dc08098837b7a73f2fe655e909c2e7d67dab61b
|
|
7
|
+
data.tar.gz: 4dddbefa4b4f2c5f7469d64c4881fc0ed9e40f9f9d7e64a72ffd4ed091807db3708d60a6d7352c618099b50bb1d6cef463a1c1518831715fe35d02b224dc1c98
|
data/.gitignore
CHANGED
data/README.md
CHANGED
|
@@ -44,11 +44,6 @@ Indonesia.regencies
|
|
|
44
44
|
=> [{:id=>1101, :province_id=>11, :name=>"KABUPATEN SIMEULUE"}, ...]
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
* Get regencies by Province ID
|
|
48
|
-
```ruby
|
|
49
|
-
Indonesia.regencies(11)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
47
|
* Get all districts
|
|
53
48
|
```ruby
|
|
54
49
|
Indonesia.districts
|
|
@@ -56,12 +51,6 @@ Indonesia.districts
|
|
|
56
51
|
# result
|
|
57
52
|
=> [{:id=>1101010, :regency_id=>1101, :name=>"TEUPAH SELATAN"}, ...]
|
|
58
53
|
```
|
|
59
|
-
|
|
60
|
-
* Get all districts by Regency ID
|
|
61
|
-
```ruby
|
|
62
|
-
Indonesia.districts(1101)
|
|
63
|
-
```
|
|
64
|
-
|
|
65
54
|
* Get all villages
|
|
66
55
|
```ruby
|
|
67
56
|
Indonesia.villages
|
|
@@ -70,54 +59,6 @@ Indonesia.villages
|
|
|
70
59
|
=> [{:id=>1101010001, :district_id=>1101010, :name=>"LATIUNG"},...]
|
|
71
60
|
```
|
|
72
61
|
|
|
73
|
-
* Get all districts by district id
|
|
74
|
-
```ruby
|
|
75
|
-
Indonesia.villages(1101010)
|
|
76
|
-
```
|
|
77
|
-
### Rails helper
|
|
78
|
-
|
|
79
|
-
#### #options_for_select (:province, :regency, :district)
|
|
80
|
-
```ruby
|
|
81
|
-
# provinces
|
|
82
|
-
Indonesia.options_for_select(:province)
|
|
83
|
-
|
|
84
|
-
# result
|
|
85
|
-
=> [["ACEH", 11], ["SUMATERA UTARA", 12], ["SUMATERA BARAT", 13], ...]
|
|
86
|
-
|
|
87
|
-
# regencies
|
|
88
|
-
Indonesia.options_for_select(:regency)
|
|
89
|
-
# or
|
|
90
|
-
Indonesia.options_for_select(:regency, 11) # 11 is province_id
|
|
91
|
-
|
|
92
|
-
# result
|
|
93
|
-
=> [["KABUPATEN SIMEULUE", 1101], ["KABUPATEN ACEH SINGKIL", 1102], ...]
|
|
94
|
-
|
|
95
|
-
# districts
|
|
96
|
-
Indonesia.options_for_select(:district, 1101) # 1101 is regency_id
|
|
97
|
-
|
|
98
|
-
# result
|
|
99
|
-
=> [["TEUPAH SELATAN", 1101010], ["SIMEULUE TIMUR", 1101020], ...]
|
|
100
|
-
```
|
|
101
|
-
#### Generate for select options rails
|
|
102
|
-
* Province
|
|
103
|
-
```erb
|
|
104
|
-
<%= f.select :province_id, Indonesia.options_for_select(:province) %>
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
* Regency
|
|
108
|
-
```erb
|
|
109
|
-
<%= f.select :regency_id, Indonesia.options_for_select(:regency) %>
|
|
110
|
-
or
|
|
111
|
-
<%= f.select :regency_id, Indonesia.options_for_select(:regency, 11) %>
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
* District
|
|
115
|
-
```erb
|
|
116
|
-
<%= f.select :district_id, Indonesia.options_for_select(:district) %>
|
|
117
|
-
or
|
|
118
|
-
<%= f.select :district_id, Indonesia.options_for_select(:district, 1101) %>
|
|
119
|
-
```
|
|
120
|
-
|
|
121
62
|
### Rails migrations
|
|
122
63
|
|
|
123
64
|
Generate models, migrations and save address data to database
|
data/lib/indonesia.rb
CHANGED
|
@@ -1,35 +1,12 @@
|
|
|
1
1
|
require 'csv'
|
|
2
2
|
|
|
3
|
-
require 'indonesia/
|
|
4
|
-
require 'indonesia/province'
|
|
5
|
-
require 'indonesia/regency'
|
|
6
|
-
require 'indonesia/district'
|
|
7
|
-
require 'indonesia/village'
|
|
3
|
+
require 'indonesia/finder'
|
|
8
4
|
|
|
9
5
|
module Indonesia
|
|
10
|
-
def self.options_for_select(type = :province, parent_id = nil)
|
|
11
|
-
case type
|
|
12
|
-
when :province
|
|
13
|
-
provinces.map { |province| [province[:name], province[:id]] }
|
|
14
|
-
when :regency
|
|
15
|
-
regencies(parent_id).map { |regency| [regency[:name], regency[:id]] }
|
|
16
|
-
when :district
|
|
17
|
-
districts(parent_id).map { |district| [district[:name], district[:id]] }
|
|
18
|
-
else
|
|
19
|
-
[]
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def self.find(type, query)
|
|
24
|
-
address = %w(province regency district)
|
|
25
|
-
types = address + address.map(&:to_sym)
|
|
26
6
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
self.send(type).find { |t| t[:name].downcase == query.downcase }
|
|
31
|
-
else
|
|
32
|
-
nil
|
|
33
|
-
end
|
|
7
|
+
def self.read_csv(file)
|
|
8
|
+
file_path = File.join(File.dirname(__FILE__), 'data/', "#{file}.csv")
|
|
9
|
+
CSV.read(file_path)
|
|
34
10
|
end
|
|
11
|
+
|
|
35
12
|
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Indonesia
|
|
2
|
+
|
|
3
|
+
def self.provinces
|
|
4
|
+
@provinces ||= begin
|
|
5
|
+
data = read_csv('provinces')
|
|
6
|
+
data.map { |r| { id: r[0].to_i, name: r[1] } }
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.regencies
|
|
11
|
+
@regencies ||= begin
|
|
12
|
+
data = read_csv('regencies')
|
|
13
|
+
data.map { |r| { id: r[0].to_i, province_id: r[1].to_i, name: r[2] } }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.districts
|
|
18
|
+
@districts ||= begin
|
|
19
|
+
data = read_csv('districts')
|
|
20
|
+
data.map { |r| { id: r[0].to_i, regency_id: r[1].to_i, name: r[2] } }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.villages
|
|
25
|
+
@villages ||= begin
|
|
26
|
+
data = read_csv('villages')
|
|
27
|
+
data.map { |r| { id: r[0].to_i, district_id: r[1].to_i, name: r[2] } }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
data/lib/indonesia/version.rb
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module Indonesia
|
|
2
|
-
VERSION = '0.
|
|
3
|
-
end
|
|
2
|
+
VERSION = '0.6.0'.freeze
|
|
3
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: indonesia
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dimas J. Taniawan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-04-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -96,11 +96,8 @@ files:
|
|
|
96
96
|
- lib/generators/indonesia/templates/models/province.rb
|
|
97
97
|
- lib/generators/indonesia/templates/models/regency.rb
|
|
98
98
|
- lib/indonesia.rb
|
|
99
|
-
- lib/indonesia/
|
|
100
|
-
- lib/indonesia/province.rb
|
|
101
|
-
- lib/indonesia/regency.rb
|
|
99
|
+
- lib/indonesia/finder.rb
|
|
102
100
|
- lib/indonesia/version.rb
|
|
103
|
-
- lib/indonesia/village.rb
|
|
104
101
|
homepage: https://github.com/dimasjt/indonesia
|
|
105
102
|
licenses:
|
|
106
103
|
- MIT
|
|
@@ -120,8 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
120
117
|
- !ruby/object:Gem::Version
|
|
121
118
|
version: '0'
|
|
122
119
|
requirements: []
|
|
123
|
-
|
|
124
|
-
rubygems_version: 2.6.11
|
|
120
|
+
rubygems_version: 3.0.1
|
|
125
121
|
signing_key:
|
|
126
122
|
specification_version: 4
|
|
127
123
|
summary: Indonesia addresses
|
data/lib/indonesia/district.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module Indonesia
|
|
2
|
-
def self.districts(regency_id = nil)
|
|
3
|
-
@_districts ||= begin
|
|
4
|
-
data = CSV.read('lib/data/districts.csv')
|
|
5
|
-
data.map { |r| { id: r[0].to_i, regency_id: r[1].to_i, name: r[2] } }
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
if regency_id.nil?
|
|
9
|
-
@_districts
|
|
10
|
-
else
|
|
11
|
-
@_districts.select { |d| d[:regency_id] == regency_id.to_i }
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
data/lib/indonesia/province.rb
DELETED
data/lib/indonesia/regency.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module Indonesia
|
|
2
|
-
def self.regencies(province_id = nil)
|
|
3
|
-
@_regencies ||= begin
|
|
4
|
-
data = CSV.read('lib/data/regencies.csv')
|
|
5
|
-
data.map { |r| { id: r[0].to_i, province_id: r[1].to_i, name: r[2] } }
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
if province_id.nil?
|
|
9
|
-
@_regencies
|
|
10
|
-
else
|
|
11
|
-
@_regencies.select { |r| r[:province_id] == province_id.to_i }
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
data/lib/indonesia/village.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module Indonesia
|
|
2
|
-
def self.villages(district_id = nil)
|
|
3
|
-
@_villages ||= begin
|
|
4
|
-
data = CSV.read('lib/data/villages.csv')
|
|
5
|
-
data.map { |r| { id: r[0].to_i, district_id: r[1].to_i, name: r[2] } }
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
if district_id.nil?
|
|
9
|
-
@_villages
|
|
10
|
-
else
|
|
11
|
-
@_villages.select { |v| v[:district_id] == district_id.to_i }
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|