# This file should contain all the record creation needed to seed the database with its default values. # The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup). # # Examples: # # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) # Character.create(name: 'Luke', movie: movies.first) # Create a bunch of Agents { 'Dewey': '6347f151-6782-437c-8bae-55730672a76f', 'PS': '3211da93-69fb-4d9b-825c-6ab51784fd18', 'incommon': '262ea4f5-186d-483b-8414-025f23b65eb4', 'ConcertES': '066e5968-03c3-4c15-bd5b-f73a10b5e9f1' }.each do |agent_name, uuid| Agent.find_or_create_by(name: agent_name, uuid: uuid) end dewey = Agent.find_by(uuid: '6347f151-6782-437c-8bae-55730672a76f') or die('Dewey Agent should be available by now!') # Create a default taxonomy Taxonomy.find_or_create_by( name: 'Dewey Maps Taxonomy', summary: 'Original taxonomy used in Belgique, Mode d\'Emploi', description: '## Dewey Maps Taxonomy', uuid: '2519915f-d19c-4281-b758-f5ddb889d7fa', agent_id: dewey.id ) # Create French categories and sections if Category.count == 0 dewey_taxo = Taxonomy.first cats = JSON.parse(IO.read('doc/import/categories-fr.json')) cats.each do |cat| c = Category.create(name: cat['name'], dewey_id: cat['id'], taxonomy_id: dewey_taxo.id, color: cat['color']) cat['sections'].each do |sec| Section.create(name: sec['name'], category_id: c.id, dewey_id: sec['id'], color: sec['color']) end end # Now that we have all we need, update resources_sections... Resource.all.each do |res| sec_ids = res.feature['properties']['categories'] next if sec_ids.empty? sec_ids.each do |id| s = Section.find_by(dewey_id: id) res.sections << s if s.present? res.save end end end # Create default map if Map.count == 0 Map.create(uuid: "1a42651e-3fe8-4e83-bfcd-f14bb8d0c713", latitude: 50.8503396, longitude: 4.3517103, zoom: 13, taxonomy_id: 1) end