Sha256: a26b411137c5fb12693d21330104aaca5399f89590acd22fef40696aa1cfc84b
Contents?: true
Size: 818 Bytes
Versions: 2
Compression:
Stored size: 818 Bytes
Contents
module HumanAttributes module Formatters class Enum < Base def apply(_instance, value) return unless value is_enum_defined = _instance.class.defined_enums.has_key?(attribute.to_s) raise_error('NotEnumAttribute') unless is_enum_defined class_name = _instance.class.name.underscore pluralized_attribute = attribute.to_s.pluralize attr_key = "activerecord.attributes.#{class_name}.#{pluralized_attribute}.#{value}" enum_key = "enum.defaults.#{pluralized_attribute}.#{value}" translate(attr_key, translate(enum_key, value)) end def translate(key, default) I18n.t(key, default: default) end def enum_defined?(_instance) _instance.class.defined_enums.has_key?(attribute.to_s) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
human_attributes-1.1.0 | lib/human_attributes/formatters/enum.rb |
human_attributes-1.0.0 | lib/human_attributes/formatters/enum.rb |