class Kredis::Types::Enum
def define_predicates_for_values
def define_predicates_for_values values.each do |defined_value| define_singleton_method("#{defined_value}?") { value == defined_value } define_singleton_method("#{defined_value}!") { self.value = defined_value } end end
def initialize(...)
def initialize(...) super define_predicates_for_values end
def reset
def reset multi do del set_default end end
def set_default
def set_default if default.in?(values) || default.nil? set default else raise InvalidDefault, "Default value #{default.inspect} for #{key} is not a valid option (Valid values: #{values.join(", ")})" end end
def value
def value get end
def value=(value)
def value=(value) if validated_choice = value.presence_in(values) set validated_choice end end