module RubyEnum::ActiveModel::AttrEnum
Public Instance Methods
assign_attributes(new_attributes)
click to toggle source
Calls superclass method
# File lib/ruby_enum/active_model.rb, line 8 def assign_attributes(new_attributes) if new_attributes enumeration_attrs = self.class.attr_enums new_attributes.each do |k, v| enum_attr = enumeration_attrs[k.to_sym] if enum_attr.present? && _is_not_enum?(v) enum_class_name = enum_attr[:class_name] enum_class = Object.const_get enum_class_name new_attributes[k] = enum_class.find_by_value(v) end end end super end
Private Instance Methods
_is_not_enum?(value)
click to toggle source
# File lib/ruby_enum/active_model.rb, line 28 def _is_not_enum?(value) !value.class.ancestors.include? RubyEnum end