From 52e59ccb2f95bc38e9788cd9c063e9d7956ad6f8 Mon Sep 17 00:00:00 2001
From: Israel Barreto Sant'Anna <ibsa14@inf.ufpr.br>
Date: Mon, 30 Jan 2017 10:23:21 -0200
Subject: [PATCH] Updated values of languages, educational stages, subjects and
 object_types

Signed-off-by: Israel Barreto Sant'Anna <ibsa14@inf.ufpr.br>
---
 db/seeds/educational_stages.rb | 18 ++++++++---
 db/seeds/languages.rb          | 27 ++++++++++------
 db/seeds/subjects.rb           | 57 ++++++++++++++++++++++++----------
 3 files changed, 71 insertions(+), 31 deletions(-)

diff --git a/db/seeds/educational_stages.rb b/db/seeds/educational_stages.rb
index b632637c..66c975e4 100644
--- a/db/seeds/educational_stages.rb
+++ b/db/seeds/educational_stages.rb
@@ -1,6 +1,14 @@
-EducationalStage.create(name: 'Educação Infantil')
-EducationalStage.create(name: 'Ensino Fundamental')
-EducationalStage.create(name: 'Ensino Médio')
-EducationalStage.create(name: 'Ensino Superior')
-EducationalStage.create(name: 'Outros')
+def stages
+  [
+    {name:'Educação Infantil'},
+    {name:'Ensino Fundamental I (1º até o 5º ano )'},
+    {name:'Ensino Fundamental II  (do 6º até o 9º ano)'},
+    {name:'Ensino Médio'},
+    {name:'Ensino Superior'},
+    {name:'Outros'}
+  ]
+end
 
+stages.each do |stage|
+  EducationalStage.where(stage).first_or_create
+end
diff --git a/db/seeds/languages.rb b/db/seeds/languages.rb
index 63be1a1a..1af89213 100644
--- a/db/seeds/languages.rb
+++ b/db/seeds/languages.rb
@@ -1,9 +1,18 @@
-Language.create(name: 'Português', code: 'pt')
-Language.create(name: 'Inglês', code: 'en')
-Language.create(name: 'Espanhol', code: 'es')
-Language.create(name: 'Francês', code: 'fr')
-Language.create(name: 'Alemão', code: 'de')
-Language.create(name: 'Italiano', code: 'it')
-Language.create(name: 'Mandarim', code: 'zh')
-Language.create(name: 'Russo', code: 'ru')
-Language.create(name: 'Japonês', code: 'jp')
+def languages
+  [
+    {name: 'Português', code: 'pt'},
+    {name: 'Inglês', code: 'en'},
+    {name: 'Espanhol', code: 'es'},
+    {name: 'Francês', code: 'fr'},
+    {name: 'Alemão', code: 'de'},
+    {name: 'Italiano', code: 'it'},
+    {name: 'Mandarim', code: 'zh'},
+    {name: 'Russo', code: 'ru'},
+    {name: 'Japonês', code: 'jp'},
+    {name: 'Outro', code: 'Outro'}
+  ]
+end
+
+languages.each do |language|
+  Language.where(language).first_or_create
+end
diff --git a/db/seeds/subjects.rb b/db/seeds/subjects.rb
index 792685b0..447d2774 100644
--- a/db/seeds/subjects.rb
+++ b/db/seeds/subjects.rb
@@ -1,17 +1,40 @@
-Subject.create(name:'Arte')
-Subject.create(name:'Língua Portuguesa')
-Subject.create(name:'Biologia')
-Subject.create(name:'Ciências da Natureza')
-Subject.create(name:'Educação Especial')
-Subject.create(name:'Educação Física')
-Subject.create(name:'Educação Indígena')
-Subject.create(name:'Espanhol')
-Subject.create(name:'Filosofia')
-Subject.create(name:'Física')
-Subject.create(name:'Geografia')
-Subject.create(name:'História')
-Subject.create(name:'Inglês')
-Subject.create(name:'Matemática')
-Subject.create(name:'Português')
-Subject.create(name:'Química')
-Subject.create(name:'Sociologia')
+def subjects
+  [
+    {name:'Arte'},
+    {name:'Língua Portuguesa'},
+    {name:'Biologia'},
+    {name:'Ciências da Natureza'},
+    {name:'Educação Física'},
+    {name:'Filosofia'},
+    {name:'Física'},
+    {name:'Geografia'},
+    {name:'História'},
+    {name:'Matemática'},
+    {name:'Química'},
+    {name:'Sociologia'},
+    {name:'Outras Línguas'},
+    {name:'Ensino Religioso'}
+  ]
+end
+
+def updates
+  {
+    'Espanhol': 'Língua Espanhola',
+    'Inglês': 'Língua Inglesa'
+  }
+end
+
+updates.each do |old, new_name|
+  s = Subject.where(name: old).first
+  if Subject.where(name: new_name).first.nil?
+    if s.nil?
+      Subject.create(name: new_name)
+    else
+      s.update(name: new_name)
+    end
+  end
+end
+
+subjects.each do |subject|
+  Subject.where(subject).first_or_create
+end
-- 
GitLab