lib/renum.rb in renum-1.3.1 vs lib/renum.rb in renum-1.4.0

- old
+ new

@@ -1,14 +1,20 @@ require 'renum/enumerated_value_type_factory' +require 'renum/name_serializer' +require 'renum/index_serializer' -# Requiring 'renum' mixes the Renum module into both the main Object and -# Module, so it can be called from anywhere that you might reasonably +# 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. module Renum - # Figures out whether the new enumeration will live in Object or the - # receiving Module, then delegates to EnumeratedValueTypeFactory#create for - # all the real work. + # Declares an enumerated type. If called inside a module, the enumerated type class will + # be nested inside that module. + # + # @param [Symbol] type_name The name of the EnumeratedType class to create + # @param [optional, Array<Symbol, String>] values + # the names of the values in order, can be omitted if you'll specify them via method calls in a block + # @param block can be used to specify values with method calls, instance methods def enum type_name, values = :defined_in_block, &block nest = self.is_a?(Module) ? self : Object EnumeratedValueTypeFactory.create(nest, type_name, values, &block) end end