module ReeEnum::Contractable
def message(value, name, lvl = 1)
def message(value, name, lvl = 1) return "expected one of #{self.name}, got #{value.class} => #{truncate(value.inspect)}" end
def valid?(value)
def valid?(value) value.is_a?(ReeEnum::Value) && value.enum_name == self.enum_name && all.include?(value) end