Class: ProvinceAndCityChGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/province_and_city_ch/province_and_city_ch_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_province_and_city_fileObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/generators/province_and_city_ch/province_and_city_ch_generator.rb', line 4

def create_province_and_city_file
  run "rails generate model base/province name:string"
  run "rails generate model base/city name:string province_id:integer city_type:integer"

  inject_into_class "app/models/base/province.rb", ::Base::Province do
    "  has_many :cities\n"
  end

  inject_into_class "app/models/base/city.rb", ::Base::City do
    "  belongs_to :province\n"
  end

  template "db/province.json", "db/province.json"
  template "db/city.json", "db/city.json"

  append_to_file "db/seeds.rb" , <<-CODE
    STDOUT.puts " [Province City] start"
    provinces = JSON.parse(IO.read('db/province.json'))
    Base::Province.delete_all
    provinces.each do |pro|
      p = Base::Province.new(name: pro['name'])
      p.id = pro['id']
      p.save
    end
    cities =JSON.parse(IO.read('db/city.json'))
    Base::City.delete_all
    cities.each do |city|
      c = Base::City.new(name: city['name'],province_id: city['province_id'])
      c.id = city['id']
      c.save
    end
    STDOUT.puts " [ImportBase] end"
  CODE

end