mexican-states 0.1.2 → 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: fdf2855e1d844aaf6c1ce9552d90e01eb5ae17a2
4
- data.tar.gz: d1210642482962b2471ccba92641a4f6dfd32888
3
+ metadata.gz: ddab572959e65a7bdd5776a20b92a293371685c3
4
+ data.tar.gz: adc5f9c5a668d2c3e257ec0cd9f3d25625dba901
5
5
  SHA512:
6
- metadata.gz: 1a481b8597f5ab122d7f8cdb5415b8740f807e1123eb1f1791d322c1dd188a72f7c230b686061006df0aeb6eed2b4c6588f3d580dd468a234a2f4df86f590b38
7
- data.tar.gz: a0b35e62dfd5e9512562207496b4a5559cd31f7773d6a13cb72eac0a2aef4436a3b23fb99a43deeaaa67026c6bc5327ed0053f0a40bc015c910fb32e7e9e85e9
6
+ metadata.gz: d3752d7a2e1aa3a0450e7881a24c5c2d25e3c11e228547b4f6538b5af91fc19125c6600456cf4762a4c9feec77e8818978dbca25ac0682be37e31d8b3ac6b4d2
7
+ data.tar.gz: 2374f145c48bc44cddf983b8bdb8d0177cfb5d7c07fb6774415229459f5984e86ad4ce0003007bade4ace8a122a8b3c85592ed4cb6fba06890555dd8bb9b0a32
@@ -1,6 +1,5 @@
1
1
  require 'rails/generators'
2
2
  require 'rails/generators/migration'
3
- require 'csv'
4
3
 
5
4
  module Mexican
6
5
  # States module
@@ -34,29 +33,6 @@ module Mexican
34
33
  copy_file './models/city.rb', 'app/models/city.rb'
35
34
  copy_file './models/neighborhood.rb', 'app/models/neighborhood.rb'
36
35
  end
37
-
38
- desc 'Seed models'
39
- def seed_models
40
- root = File.expand_path '../../../../support/', __FILE__
41
- Dir.glob(root + '/*.csv') do |rb_file|
42
- save_datum(File.join(rb_file))
43
- end
44
- end
45
-
46
- private
47
-
48
- def save_datum(file)
49
- CSV.foreach(file) do |row|
50
- city_name = row[2]
51
- neighborhood_name = row[1]
52
- neighborhood_zip_code = row[0]
53
- state = State.find_or_create_by(name: row[3])
54
- city = City.find_or_create_by(name: city_name, state_id: state.id)
55
- Neighborhood.find_or_create_by(name: neighborhood_name,
56
- zip_code: neighborhood_zip_code,
57
- city_id: city.id)
58
- end
59
- end
60
36
  end
61
37
  end
62
38
  end
@@ -0,0 +1,38 @@
1
+ require 'rails/generators'
2
+ require 'csv'
3
+
4
+ module Mexican
5
+ # States module
6
+ module States
7
+ # Seed generator class
8
+ class SeedGenerator < ::Rails::Generators::Base
9
+ include Rails::Generators::Migration
10
+
11
+ source_root File.expand_path('../../../templates/active_record/',
12
+ __FILE__)
13
+ desc 'Seed models'
14
+ def seed_models
15
+ root = File.expand_path '../../../../support/', __FILE__
16
+ Dir.glob(root + '/*.csv') do |rb_file|
17
+ save_datum(File.join(rb_file))
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ def save_datum(file)
24
+ CSV.foreach(file) do |row|
25
+ city_name = row[2]
26
+ neighborhood_name = row[1]
27
+ neighborhood_zip_code = row[0]
28
+ state = State.find_or_create_by(name: row[3])
29
+ city = City.find_or_create_by(name: city_name, state_id: state.id)
30
+ Neighborhood.find_or_create_by(name: neighborhood_name,
31
+ zip_code: neighborhood_zip_code,
32
+ state_id: state.id,
33
+ city_id: city.id)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -2,8 +2,13 @@
2
2
  # name:string
3
3
  # zip_code:string
4
4
  # city_id:integer
5
+ # state_id:integer
5
6
  class Neighborhood < ActiveRecord::Base
6
7
  validates :name, :zip_code, presence: true
8
+
9
+ belongs_to :city
7
10
  belongs_to :state
8
- has_many :neighborhoods
11
+
12
+ delegate :name, to: :city, prefix: true
13
+ delegate :name, to: :state, prefix: true
9
14
  end
@@ -3,4 +3,5 @@
3
3
  class State < ActiveRecord::Base
4
4
  validates :name, presence: true
5
5
  has_many :cities
6
+ has_many :neighborhoods
6
7
  end
@@ -5,6 +5,7 @@ class CreateNeighborhoods < ActiveRecord::Migration
5
5
  t.string :name
6
6
  t.string :zip_code
7
7
  t.references :city, index: true, foreign_key: true
8
+ t.references :state, index: true, foreign_key: true
8
9
 
9
10
  t.timestamps null: false
10
11
  end
@@ -1,5 +1,5 @@
1
1
  module Mexican
2
2
  module States
3
- VERSION = '0.1.2'.freeze
3
+ VERSION = '0.2.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mexican-states
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Omana
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-19 00:00:00.000000000 Z
11
+ date: 2016-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -70,6 +70,7 @@ files:
70
70
  - bin/console
71
71
  - bin/setup
72
72
  - lib/generators/mexican/states/install_generator.rb
73
+ - lib/generators/mexican/states/seed_generator.rb
73
74
  - lib/generators/templates/active_record/models/city.rb
74
75
  - lib/generators/templates/active_record/models/neighborhood.rb
75
76
  - lib/generators/templates/active_record/models/state.rb