module ActsEnumTranslable::ActiveModel::Model

Public Class Methods

enum_form(enum_key = nil) click to toggle source

Use with radio simple_form

@return [Array] [[“Nao Realizado”, 0], [“Realizado”, 1], [“Arquivado”, 2]]

# File lib/acts_enum_translable/active_model/model.rb, line 52
def self.enum_form(enum_key = nil)
  # runtime_error exception
  runtime_error enum_key

  defined_enums[enum_key.to_s].map do |enum|
    original_key = enum.first.humanize
    trans_key = i18n_key(enum_key, enum.first)

    # procura nos arquivo de traducao
    # caso nao encontre humanize o proprio enum
    if I18n.exists? trans_key
      [enum.second, I18n.t(trans_key, locale: I18n.locale)]
    else
      [enum.second, original_key]
    end
  end
end
enum_list(enum_key = nil) click to toggle source

Busca todos os enums do model corrente @return [Array] [“Nao Realizado”, “Realizado”, “Arquivado”]

# File lib/acts_enum_translable/active_model/model.rb, line 12
def self.enum_list(enum_key = nil)
  # runtime_error exception
  runtime_error enum_key
  defined_enums[enum_key.to_s].map do |enum|
    trans_key = i18n_key(enum_key, enum.first)
    # procura nos arquivo de traducao
    # caso nao encontre humanize o proprio enum
    if I18n.exists? trans_key
      I18n.t(trans_key, locale: I18n.locale)
    else
      # original key
      enum.first.humanize
    end
  end
end
enum_with_keys(enum_key = nil) click to toggle source

Busca todos os metodos do model corrente

@return [Array] [[“Nao Realizado”, 0], [“Realizado”, 1], [“Arquivado”, 2]]

# File lib/acts_enum_translable/active_model/model.rb, line 31
def self.enum_with_keys(enum_key = nil)
  # runtime_error exception
  runtime_error enum_key

  defined_enums[enum_key.to_s].map do |enum|
    original_key = enum.first.humanize
    trans_key = i18n_key(enum_key, enum.first)

    # procura nos arquivo de traducao
    # caso nao encontre humanize o proprio enum
    if I18n.exists? trans_key
      [I18n.t(trans_key, locale: I18n.locale), enum.second]
    else
      [original_key, enum.second]
    end
  end
end