Sha256: d717dde3d6004f9ba142f10de36f7a8ecd90f3ddfd2407974c6b5172e409dd55

Contents?: true

Size: 487 Bytes

Versions: 2

Compression:

Stored size: 487 Bytes

Contents

# encoding: utf-8

class Localization < ActiveRecord::Base
  belongs_to :localizable, polymorphic: true, optional: true, touch: true

  class << self
    def locales
      order("locale ASC").pluck(Arel.sql("DISTINCT locale"))
    end

    def names
      order("name ASC").pluck(Arel.sql("DISTINCT name"))
    end
  end

  def to_s
    value || ""
  end

  delegate :empty?, to: :to_s

  def translate(locale)
    localizable.localizations.find_by(name: name, locale: locale)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
localizable_model-0.6.4 app/models/localization.rb
localizable_model-0.6.3 app/models/localization.rb