Module: Degu::Renum

Included in:
Object
Defined in:
lib/degu/renum.rb,
lib/degu/renum/enumerated_value.rb,
lib/degu/renum/enumerated_value_type_factory.rb

Overview

Requiring ‘renum’ mixes the Renum module into both the main Object and Module, so it can be called from anywhere that you might reasonably define an enumeration with an implicit receiver.

Defined Under Namespace

Modules: EnumeratedValueTypeFactory Classes: EnumeratedValue

Instance Method Summary collapse

Instance Method Details

#renum(type_name, values = :defined_in_block, &block) ⇒ Object

Figures out whether the new enumeration will live in Object or the receiving Module, then delegates to EnumeratedValueTypeFactory#create for all the real work.



12
13
14
15
# File 'lib/degu/renum.rb', line 12

def renum(type_name, values = :defined_in_block, &block)
  nest = self.is_a?(Module) ? self : Object
  EnumeratedValueTypeFactory.create(nest, type_name, values, &block)
end