X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/53b4d645d80cbe4ac397cfc004e8985317aed6a8..fb4ea1a02ac5dc1b0ef444e0d63fafa8f756fa8d:/app/models/language.rb diff --git a/app/models/language.rb b/app/models/language.rb index 9c7ca4c0e..776182e63 100644 --- a/app/models/language.rb +++ b/app/models/language.rb @@ -1,6 +1,27 @@ class Language < ActiveRecord::Base - set_primary_key :language_code - - has_many :users, :foreign_key => 'locale' - has_many :diary_entries, :foreign_key => 'language' + self.primary_key = "code" + + has_many :diary_entries, :foreign_key => "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 + end + end + end + end + + def name + name = english_name + name += " (#{native_name})" unless native_name.nil? + name + end end