ファイル
btrc-hub/backend/app/models/locale.rb
T
2026-10-18 02:22:00 +09:00

28 行
795 B
Ruby

class Locale < ApplicationRecord
before_save :lock_tag_creation!, if: :will_generate_tag_names?
after_save :generate_tag_names!, if: :needs_tag_names?
belongs_to :language, foreign_key: :language_code, primary_key: :code
belongs_to :script, foreign_key: :script_code, primary_key: :code
enum :code, ja: 'ja', ain_kana: 'ain-Kana'
def self.nipponese = Locale.find('ja')
private
def will_generate_tag_names?
deprecated_at.nil? && (will_save_change_to_code? || will_save_change_to_deprecated_at?)
end
def lock_tag_creation!
SharedResourceIdAllocator.lock_space!(Tag, 'tags')
end
def needs_tag_names?
deprecated_at.nil? && (saved_change_to_code? || saved_change_to_deprecated_at?)
end
def generate_tag_names! = TagNameCompletion.for_locale!(self)
end