module EnumI18nHelp::EnumI18n

Public Instance Methods

enum(definitions) click to toggle source
Calls superclass method
# File lib/enum_i18n_help/enum_i18n.rb, line 3
def enum(definitions)
  super(definitions)
  # super has defined enum.
  # So defined_enums are available!
  #
  # To avoid defining methods multiple times,
  # slices hash to get enums called this time.
  #
  # Be careful not to destroy defined_enum, such as using merge!
  defined_enums.slice(*definitions.keys.map(&:to_s)).each_pair do |key, value|
    EnumAttribute.define_text_method!(self, key)
    EnumAttribute.define_options_method!(self, key, value.symbolize_keys)
  end
end