Class: CalendariumRomanum::Enum
- Inherits:
-
Object
- Object
- CalendariumRomanum::Enum
- Extended by:
- Forwardable
- Defined in:
- lib/calendarium-romanum/enum.rb
Overview
Utility class for definition of enumerated “types”
Class Attribute Summary collapse
-
.all ⇒ Object
readonly
Returns the value of attribute all.
Class Method Summary collapse
Class Attribute Details
.all ⇒ Object (readonly)
Returns the value of attribute all.
25 26 27 |
# File 'lib/calendarium-romanum/enum.rb', line 25 def all @all end |
Class Method Details
.values(index_by: nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/calendarium-romanum/enum.rb', line 9 def values(index_by: nil) defined?(@indexed) && raise(RuntimeError.new('initialized repeatedly')) @indexed = {} @all = yield.freeze @all.each_with_index do |val, i| val.freeze key = index_by ? val.public_send(index_by) : i @indexed[key] = val end @indexed.freeze end |