Module: Enumy::Model

Defined in:
lib/enumy/model.rb

Instance Method Summary collapse

Instance Method Details

#assert_valid_enum_value_type!(enum_class, enum) ⇒ Object



12
13
14
15
# File 'lib/enumy/model.rb', line 12

def assert_valid_enum_value_type!(enum_class, enum)
  return if enum.nil?
  raise Errors::InvalidEnumClassError, "Expected instance of `#{enum_class}`, got instance of `#{enum.class}`" unless enum.is_a?(enum_class)
end

#has_enum(name, enum_class:, **options) ⇒ Object



7
8
9
10
# File 'lib/enumy/model.rb', line 7

def has_enum(name, enum_class:, **options)
  assert_valid_enum_type!(enum_class)
  define_enum_methods(name, enum_class, default: options[:default])
end