1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
require_relative 'box' module Support module DataModifier class EnumBox include Box attr_reader :value, :values def initialize *enum_values @values = enum_values @value = @values.first end def next self.class.new(*(@values[1..-1] << @values.first)) end end end end