Module: EnumI18n

Extended by:
ActiveSupport::Concern
Defined in:
lib/enum-i18n.rb,
lib/enum-i18n/version.rb

Constant Summary collapse

VERSION =
'0.2.1'

Instance Method Summary collapse

Instance Method Details

#set_enum_textObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/enum-i18n.rb', line 14

def set_enum_text
  name = model_name.try(:i18n_key).to_s
  defined_enums.each do |enum|
    enum_column = enum.first
    class_eval <<-METHOD, __FILE__, __LINE__ + 1
      def #{enum_column}_text(scope=nil)
        scope ||= 'activerecord.enum.#{name}.#{enum_column}'
        I18n.t(#{enum_column}, scope: scope)
      end
    METHOD
  end
end