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 =
"4.0.0"

Class Method Summary collapse

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