indonesia 0.3.0 → 0.4.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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/README.md +19 -4
- data/indonesia.gemspec +2 -0
- data/lib/generators/indonesia/install_generator.rb +47 -0
- data/lib/generators/indonesia/templates/migrations/data.rb +21 -0
- data/lib/generators/indonesia/templates/migrations/district.rb +15 -0
- data/lib/generators/indonesia/templates/migrations/province.rb +12 -0
- data/lib/generators/indonesia/templates/migrations/regency.rb +15 -0
- data/lib/generators/indonesia/templates/models/district.rb +7 -0
- data/lib/generators/indonesia/templates/models/province.rb +6 -0
- data/lib/generators/indonesia/templates/models/regency.rb +6 -0
- data/lib/indonesia/version.rb +1 -1
- metadata +25 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4f1f51e24ee2865412e6e1ac1f91de467b50a58
|
4
|
+
data.tar.gz: a2d20dc60c27d02d79babe13c176aea9b9a699d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34bd5c15dc30906a43e1ed964dc835e18296e15f2ffe58d849cd8ed71cde4e01555e20b90552fa04cae4d1c8c464dc4aa6cadbe8e2fee0c1564b267a7a55d567
|
7
|
+
data.tar.gz: a268db81a121de1ee10ed2226e4b8ddd6af24cca9166cb6d3a2f0c482e77303084c85a7abd8a55bccd87911d9d66c1076807d392287884533efeebe0724f2a4b
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
[](https://badge.fury.io/rb/indonesia)
|
2
2
|
[](https://travis-ci.org/dimasjt/indonesia)
|
3
|
-
[](https://codeclimate.com/github/dimasjt/indonesia)
|
4
3
|
|
5
4
|
|
6
5
|
# Indonesia
|
@@ -12,7 +11,7 @@ Get Indonesia addresses provinces, regencies and districts. Data from [edwardsam
|
|
12
11
|
Add this line to your application's Gemfile:
|
13
12
|
|
14
13
|
```ruby
|
15
|
-
gem 'indonesia', '~> 0.
|
14
|
+
gem 'indonesia', '~> 0.4.0'
|
16
15
|
```
|
17
16
|
|
18
17
|
And then execute:
|
@@ -25,6 +24,10 @@ Or install it yourself as:
|
|
25
24
|
|
26
25
|
## Usage
|
27
26
|
|
27
|
+
* [Rails helper](#rails-helper)
|
28
|
+
* [Rails migrations](#rails-migrations)
|
29
|
+
|
30
|
+
|
28
31
|
* Get all provinces
|
29
32
|
```ruby
|
30
33
|
Indonesia.provinces
|
@@ -59,7 +62,7 @@ Indonesia.districts
|
|
59
62
|
Indonesia.districts(1101)
|
60
63
|
```
|
61
64
|
|
62
|
-
### Rails
|
65
|
+
### Rails helper
|
63
66
|
|
64
67
|
#### #options_for_select (:province, :regency, :district)
|
65
68
|
```ruby
|
@@ -103,6 +106,19 @@ or
|
|
103
106
|
<%= f.select :district_id, Indonesia.options_for_select(:district, 1101) %>
|
104
107
|
```
|
105
108
|
|
109
|
+
### Rails migrations
|
110
|
+
|
111
|
+
Generate models, migrations and save address data to database
|
112
|
+
|
113
|
+
Installation
|
114
|
+
|
115
|
+
```bash
|
116
|
+
$ rails generate indonesia:install
|
117
|
+
|
118
|
+
$ rake db:migrate
|
119
|
+
```
|
120
|
+
This will create models `Province`, `Regency` and `District`
|
121
|
+
|
106
122
|
## Development
|
107
123
|
|
108
124
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -117,4 +133,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/dimasj
|
|
117
133
|
## License
|
118
134
|
|
119
135
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
120
|
-
|
data/indonesia.gemspec
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
require 'rails/generators/migration'
|
3
|
+
require 'rails/generators/active_record'
|
4
|
+
|
5
|
+
module Indonesia
|
6
|
+
module Generators
|
7
|
+
class InstallGenerator < Rails::Generators::Base
|
8
|
+
include Rails::Generators::Migration
|
9
|
+
|
10
|
+
desc 'Generate migrations and models for indonesia addresses'
|
11
|
+
|
12
|
+
source_root File.expand_path('../templates', __FILE__)
|
13
|
+
|
14
|
+
def self.next_migration_number(path)
|
15
|
+
unless @prev_migration_nr
|
16
|
+
@prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
17
|
+
else
|
18
|
+
@prev_migration_nr += 1
|
19
|
+
end
|
20
|
+
@prev_migration_nr.to_s
|
21
|
+
end
|
22
|
+
|
23
|
+
def create_model
|
24
|
+
template 'models/province.rb', File.join('app/models', 'province.rb')
|
25
|
+
template 'models/regency.rb', File.join('app/models', 'regency.rb')
|
26
|
+
template 'models/district.rb', File.join('app/models', 'district.rb')
|
27
|
+
end
|
28
|
+
|
29
|
+
def create_indonesia_migration
|
30
|
+
migration_template 'migrations/province.rb', 'db/migrate/create_provinces.rb', migration_version: migration_version
|
31
|
+
migration_template 'migrations/regency.rb', 'db/migrate/create_regencies.rb', migration_version: migration_version
|
32
|
+
migration_template 'migrations/district.rb', 'db/migrate/create_districts.rb', migration_version: migration_version
|
33
|
+
migration_template 'migrations/data.rb', 'db/migrate/insert_indonesia_address.rb', migration_version: migration_version
|
34
|
+
end
|
35
|
+
|
36
|
+
def rails5?
|
37
|
+
Rails.version.start_with? '5'
|
38
|
+
end
|
39
|
+
|
40
|
+
def migration_version
|
41
|
+
if rails5?
|
42
|
+
"[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class InsertIndonesiaAddress < ActiveRecord::Migration<%= migration_version %>
|
2
|
+
def self.up
|
3
|
+
Indonesia.provinces.each do |p|
|
4
|
+
Province.create(code: p[:id], name: p[:name])
|
5
|
+
end
|
6
|
+
|
7
|
+
Indonesia.regencies.each do |r|
|
8
|
+
Regency.create(code: r[:id], name: r[:name], province_code: r[:province_id])
|
9
|
+
end
|
10
|
+
|
11
|
+
Indonesia.districts.each do |d|
|
12
|
+
District.create(code: d[:id], name: d[:name], regency_code: d[:regency_id])
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.down
|
17
|
+
Province.destroy_all
|
18
|
+
Regency.destroy_all
|
19
|
+
District.destroy_all
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateDistricts < ActiveRecord::Migration<%= migration_version %>
|
2
|
+
def self.up
|
3
|
+
create_table :districts, id: false do |t|
|
4
|
+
t.integer :code, null: false, primary: true
|
5
|
+
t.integer :regency_code, null: false
|
6
|
+
t.string :name, null: false
|
7
|
+
end
|
8
|
+
|
9
|
+
add_index :districts, :regency_code
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
drop_table :districts
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreateProvinces < ActiveRecord::Migration<%= migration_version %>
|
2
|
+
def self.up
|
3
|
+
create_table :provinces, id: false do |t|
|
4
|
+
t.integer :code, null: false, primary: true
|
5
|
+
t.string :name, null: false
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
drop_table :provinces
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateRegencies < ActiveRecord::Migration<%= migration_version %>
|
2
|
+
def self.up
|
3
|
+
create_table :regencies, id: false do |t|
|
4
|
+
t.integer :code, null: false, primary: true
|
5
|
+
t.integer :province_code, null: false
|
6
|
+
t.string :name, null: false
|
7
|
+
end
|
8
|
+
|
9
|
+
add_index :regencies, :province_code
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
drop_table :regencies
|
14
|
+
end
|
15
|
+
end
|
data/lib/indonesia/version.rb
CHANGED
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.4.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: 2017-
|
11
|
+
date: 2017-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '5.0'
|
55
69
|
description: Get Indonesia address provinces, regencies, districts
|
56
70
|
email:
|
57
71
|
- dimazniawan@gmail.com
|
@@ -69,6 +83,14 @@ files:
|
|
69
83
|
- bin/console
|
70
84
|
- bin/setup
|
71
85
|
- indonesia.gemspec
|
86
|
+
- lib/generators/indonesia/install_generator.rb
|
87
|
+
- lib/generators/indonesia/templates/migrations/data.rb
|
88
|
+
- lib/generators/indonesia/templates/migrations/district.rb
|
89
|
+
- lib/generators/indonesia/templates/migrations/province.rb
|
90
|
+
- lib/generators/indonesia/templates/migrations/regency.rb
|
91
|
+
- lib/generators/indonesia/templates/models/district.rb
|
92
|
+
- lib/generators/indonesia/templates/models/province.rb
|
93
|
+
- lib/generators/indonesia/templates/models/regency.rb
|
72
94
|
- lib/indonesia.rb
|
73
95
|
- lib/indonesia/district.rb
|
74
96
|
- lib/indonesia/province.rb
|
@@ -94,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
116
|
version: '0'
|
95
117
|
requirements: []
|
96
118
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.5.
|
119
|
+
rubygems_version: 2.5.1
|
98
120
|
signing_key:
|
99
121
|
specification_version: 4
|
100
122
|
summary: Indonesia addresses
|