Sha256: 4a2d13ad411d123826cb8ffca3daba17f9f4b8002037cfeaf78a863e06841b2d

Contents?: true

Size: 931 Bytes

Versions: 18

Compression:

Stored size: 931 Bytes

Contents

module ActiveadminSelleoCms
  class Locale < ActiveRecord::Base
    attr_protected :id

    validates :name, presence: true
    validates :code, presence: true, uniqueness: true

    scope :enabled, where(enabled: true)
    scope :available_locales, enabled

    scope :popular, where(code: %w(da de el en es fr hu it lt lv nl no pl pt ru sk sl sv))

    def to_s
      code
    end

    def code
      read_attribute(:code).to_sym
    end

    def url
      "/#{to_s}"
    end

    class << self
      def except(locale_codes)
        locale_codes = [locale_codes] unless locale_codes.is_a? Array
        enabled.where("code NOT IN (?)", locale_codes).map(&:code)
      end

      def available_locale_codes
        enabled.map(&:to_s)
      end

      def method_missing(sym, *args)
        if sym.to_s =~ /^[a-z]{2}$/
          Locale.where(code: sym).first
        else
          super
        end
      end
    end

  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
activeadmin-selleo-cms-0.0.32 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.31 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.30 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.29 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.28 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.27 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.26 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.25 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.24 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.23 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.22 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.21 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.20 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.18 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.17 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.16 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.14 app/models/activeadmin_selleo_cms/locale.rb
activeadmin-selleo-cms-0.0.13 app/models/activeadmin_selleo_cms/locale.rb