]> git.openstreetmap.org Git - rails.git/blob - app/models/language.rb
Convert `UserMailer#email_confirm` to new style
[rails.git] / app / models / language.rb
1 # frozen_string_literal: true
2
3 # == Schema Information
4 #
5 # Table name: languages
6 #
7 #  code         :string           not null, primary key
8 #  english_name :string           not null
9 #  native_name  :string
10 #
11
12 class Language < ApplicationRecord
13   has_many :diary_entries, :foreign_key => "language", :inverse_of => :language
14
15   validates :english_name, :presence => true
16
17   def self.load(file)
18     Language.transaction do
19       YAML.safe_load_file(file).each do |k, v|
20         Language.update(k, :english_name => v["english"], :native_name => v["native"])
21       rescue ActiveRecord::RecordNotFound
22         Language.create do |l|
23           l.code = k
24           l.english_name = v["english"]
25           l.native_name = v["native"]
26         end
27       end
28     end
29   end
30
31   def name
32     name = english_name
33     name += " (#{native_name})" unless native_name.nil? || native_name == english_name
34     name
35   end
36 end