mirror of
https://github.com/mastodon/mastodon.git
synced 2025-07-12 15:33:14 +00:00
28 lines
933 B
Ruby
28 lines
933 B
Ruby
# frozen_string_literal: true
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: rule_translations
|
|
#
|
|
# id :bigint(8) not null, primary key
|
|
# hint :text default(""), not null
|
|
# language :string not null
|
|
# text :text default(""), not null
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
# rule_id :bigint(8) not null
|
|
#
|
|
class RuleTranslation < ApplicationRecord
|
|
belongs_to :rule
|
|
|
|
validates :language, presence: true, uniqueness: { scope: :rule_id }
|
|
validates :text, presence: true, length: { maximum: Rule::TEXT_SIZE_LIMIT }
|
|
|
|
scope :for_locale, ->(locale) { where(language: I18n::Locale::Tag.tag(locale).to_a.first) }
|
|
scope :by_language_length, -> { order(Arel.sql('LENGTH(LANGUAGE)').desc) }
|
|
|
|
def self.languages
|
|
RuleTranslation.joins(:rule).merge(Rule.kept).select(:language).distinct.pluck(:language).sort
|
|
end
|
|
end
|