openstreetmap-website/app/models/language.rb
Andy Allan a41d500b9f Create an ApplicationRecord for models to inherit from
This is the default for Rails 5+, and also paves the way for
multiple database support.
2019-11-27 11:50:48 +01:00

34 lines
806 B
Ruby

# == 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"
def self.load(file)
Language.transaction do
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
end
def name
name = english_name
name += " (#{native_name})" unless native_name.nil?
name
end
end