Module: ClassyEnum
- Defined in:
- lib/classy_enum/base.rb,
lib/classy_enum/version.rb,
lib/classy_enum/predicate.rb,
lib/classy_enum/collection.rb,
lib/classy_enum/conversion.rb,
lib/classy_enum/translation.rb,
lib/classy_enum/active_record.rb
Defined Under Namespace
Modules: ActiveRecord, Collection, Conversion, Predicate, Translation Classes: Base, InvalidDefault, SubclassNameError
Constant Summary collapse
- VERSION =
"3.4.0"
Class Method Summary collapse
-
._normalize_default(value, enum_class) ⇒ Object
:nodoc:.
-
._normalize_value(value, default = nil, allow_blank = false) ⇒ Object
:nodoc:.
Class Method Details
._normalize_default(value, enum_class) ⇒ Object
:nodoc:
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/classy_enum/active_record.rb', line 16 def self._normalize_default(value, enum_class) # :nodoc: if value.present? if value.is_a? Proc value = value.call(enum_class) end unless enum_class.include? value raise InvalidDefault, "must be one of [#{enum_class.to_a.join(',')}]" end end value end |
._normalize_value(value, default = nil, allow_blank = false) ⇒ Object
:nodoc:
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/classy_enum/active_record.rb', line 4 def self._normalize_value(value, default=nil, allow_blank=false) # :nodoc: if value.class == Class && value < ClassyEnum::Base value = value.new.to_s elsif value.present? value = value.to_s elsif value.blank? && allow_blank value else default end end |