class Propinsi::InstallGenerator
Public Instance Methods
create_db_seed()
click to toggle source
# File lib/generators/propinsi/install_generator.rb, line 22 def create_db_seed filepath = File.join(File.dirname(__FILE__), '../../data/all.yml') @data = YAML.load_file(filepath) text = "\n\n" city_id=0; @data["provinces"].map.each do |row| # puts row["name"]; # puts "\n break" text << "Province.find_or_create_by(id: #{row["id"]}, name: '#{row["name"]}') \n" row["cities"].map.with_index.each do |row2,idx| city_id=city_id+1; # puts row2 text << "City.find_or_create_by(id: #{city_id}, name: '#{row2["name"]}', province_id: '#{row2["province_id"]}') \n" end end # puts text; inject_into_file 'lib/tasks/propinsi.rake', text, after: "task :import => :environment do" #inject into province model province_text="\nhas_many :cities\nvalidates_presence_of :name" inject_into_file 'app/models/province.rb', province_text, after: "class Province < ActiveRecord::Base" #inject into city model city_text="\nbelongs_to :province\nvalidates_presence_of :name" inject_into_file 'app/models/city.rb', city_text, after: "class City < ActiveRecord::Base" end
create_initializer_file()
click to toggle source
# File lib/generators/propinsi/install_generator.rb, line 10 def create_initializer_file create_file "lib/tasks/propinsi.rake", "# task province \nnamespace :propinsi do \n desc \"Dump all data\" \n task :import => :environment do \n end \nend\n" end
create_migration()
click to toggle source
# File lib/generators/propinsi/install_generator.rb, line 15 def create_migration # Generate Propinsi generate 'model', "province name:string --no-timestamps" # generate Kota generate 'model', "city province_id:string name:string --no-timestamps" end