]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/language.rb
Fully encode wikipedia tag values
[rails.git] / app / models / language.rb
index cdf85a52bc3530cb11dc0eb3e0a05ed29d7f7a56..f1d40feeab109fc341c9aae48fa1ea184e63d494 100644 (file)
@@ -8,13 +8,11 @@
 #
 
 class Language < ApplicationRecord
 #
 
 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
 
   def self.load(file)
     Language.transaction do
-      YAML.safe_load(File.read(file)).each do |k, v|
+      YAML.safe_load_file(file).each do |k, v|
         Language.update(k, :english_name => v["english"], :native_name => v["native"])
       rescue ActiveRecord::RecordNotFound
         Language.create do |l|
         Language.update(k, :english_name => v["english"], :native_name => v["native"])
       rescue ActiveRecord::RecordNotFound
         Language.create do |l|
@@ -28,7 +26,7 @@ class Language < ApplicationRecord
 
   def name
     name = english_name
 
   def name
     name = english_name
-    name += " (#{native_name})" unless native_name.nil?
+    name += " (#{native_name})" unless native_name.nil? || native_name == english_name
     name
   end
 end
     name
   end
 end