module EnumTranslate

Constants

VERSION

Public Instance Methods

human_attribute_text(attribute_name) click to toggle source
# File lib/enum_translate/enum_translate_concern.rb, line 8
def human_attribute_text(attribute_name)
  attribute_value = public_send(attribute_name)

  # `attribute_value` is a return value of calling ActiveRecord::Enum attribute instance API.
  #  It should be a String value, and raise an error if not.
  raise EnumTranslateArgumentError, "#{self.class.name.underscore}.#{attribute_name} should be String value." unless attribute_value.is_a?(String)

  I18n.t "activerecord.attributes.#{self.class.name.underscore}/#{attribute_name}.#{attribute_value}", default: attribute_value
end