X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0e96027a209d59ff5e7f5c2b1405febc59664a16..9d8ab7dbd11f9fff0faf82b948bf1a07e86aa5b7:/app/models/language.rb diff --git a/app/models/language.rb b/app/models/language.rb index a33c76081..3a63176f6 100644 --- a/app/models/language.rb +++ b/app/models/language.rb @@ -1,8 +1,24 @@ class Language < ActiveRecord::Base - set_primary_key :code + self.primary_key = "code" has_many :diary_entries, :foreign_key => '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 + end + end + end + end + def name name = english_name name += " (#{native_name})" unless native_name.nil?