Sha256: da5dd9d79b6f72d30147f5b46c0ef720e1002b7a742eb9b9bfb4497dbf654e3c
Contents?: true
Size: 886 Bytes
Versions: 26
Compression:
Stored size: 886 Bytes
Contents
# frozen_string_literal: true module Glossarist module Utilities module Enum class EnumCollection include Enumerable def initialize @collection = {} end def add(name, values, options = {}) @collection[name] = { registered_values: values, options: options } end def each(&block) if block_given? @collection.each do |object| block.call(object) end else enum_for(:each) end end def registered_enums @collection&.keys || [] end def valid_types(name) @collection[name][:registered_values] end def type_options(name) @collection[name][:options] end def [](name) @collection[name] end end end end end
Version data entries
26 entries across 26 versions & 2 rubygems