]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/language.rb
Add inverse_of to relationships that can't detect it automatically
[rails.git] / app / models / language.rb
index 3a63176f618c52f7788111f91e112a7fcb66ebd9..1158721e8de9cf062ff911bd6d6ee5028393d445 100644 (file)
@@ -1,19 +1,26 @@
-class Language < ActiveRecord::Base
+# == Schema Information
+#
+# Table name: languages
+#
+#  code         :string           not null, primary key
+#  english_name :string           not null
+#  native_name  :string
+#
+
+class Language < ApplicationRecord
   self.primary_key = "code"
 
-  has_many :diary_entries, :foreign_key => 'language'
+  has_many :diary_entries, :foreign_key => "language", :inverse_of => :language
 
   def self.load(file)
     Language.transaction do
-      YAML.load(File.read(file)).each do |k,v|
-        begin
-          Language.update(k, :english_name => v["english"], :native_name => v["native"])
-        rescue ActiveRecord::RecordNotFound
-          Language.create do |l|
-            l.code = k
-            l.english_name = v["english"]
-            l.native_name = v["native"]
-          end
+      YAML.safe_load(File.read(file)).each do |k, v|
+        Language.update(k, :english_name => v["english"], :native_name => v["native"])
+      rescue ActiveRecord::RecordNotFound
+        Language.create do |l|
+          l.code = k
+          l.english_name = v["english"]
+          l.native_name = v["native"]
         end
       end
     end
@@ -23,5 +30,5 @@ class Language < ActiveRecord::Base
     name = english_name
     name += " (#{native_name})" unless native_name.nil?
     name
-  end  
+  end
 end