Sha256: ec39124a192093e6c8f719f5a91461c17da2f212d02da46f556abb8067aaaee3

Contents?: true

Size: 528 Bytes

Versions: 2

Compression:

Stored size: 528 Bytes

Contents

module Para
  module AttributeField
    class EnumField < AttributeField::Base
      register :enum, self

      def value_for(instance)
        if (raw_value = instance.send(name)) &&
          path = enum_path_for(instance, raw_value)
          translation = ::I18n.t("activerecord.#{ path }", default: false)

          translation || raw_value
        end
      end

      private

      def enum_path_for(instance, key)
        ['enums', instance.class.model_name.i18n_key, name, key].join('.')
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
para-0.5.4 lib/para/attribute_field/enum.rb
para-0.5.3 lib/para/attribute_field/enum.rb