X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/38640e0253e8984974d275f2c232eb057ba86c84..96ef05b5f7a9a5d64affa8806a9259f61aed3b1f:/app/models/language.rb?ds=sidebyside diff --git a/app/models/language.rb b/app/models/language.rb index 67e98569b..f1d40feea 100644 --- a/app/models/language.rb +++ b/app/models/language.rb @@ -7,22 +7,18 @@ # native_name :string # -class Language < ActiveRecord::Base - self.primary_key = "code" - - has_many :diary_entries, :foreign_key => "language" +class Language < ApplicationRecord + has_many :diary_entries, :foreign_key => "language", :inverse_of => :language def self.load(file) Language.transaction do - YAML.safe_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(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 @@ -30,7 +26,7 @@ class Language < ActiveRecord::Base 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