class Administrate::Field::I18nEnum

Public Instance Methods

selectable_options() click to toggle source
# File lib/administrate/field/i18n_enum.rb, line 10
def selectable_options
  enums = collection.map do |k, v|
    label, value = translate(k), k
    [label, value]
  end
  enums.unshift(['', nil]) if @options.fetch(:null, false) == true
  enums
end
translate(value) click to toggle source
# File lib/administrate/field/i18n_enum.rb, line 19
def translate(value)
  I18n.t("#{class_name}.#{@attribute}.#{value}", scope: @options.fetch(:scope, nil), default: value)
end

Private Instance Methods

class_name() click to toggle source
# File lib/administrate/field/i18n_enum.rb, line 25
def class_name
  @options.fetch(:class_name, '').camelcase.downcase
end
collection() click to toggle source
Calls superclass method
# File lib/administrate/field/i18n_enum.rb, line 29
def collection
  super
  method_name = @attribute.to_s.pluralize
  @collection = @options.fetch(:class_name, '').constantize.send(method_name) if @collection.empty?
  @collection
end