Class: Kredis::Types::Enum

Inherits:
Proxying show all
Includes:
DefaultValues
Defined in:
lib/kredis/types/enum.rb

Constant Summary collapse

InvalidDefault =
Class.new(StandardError)

Instance Attribute Summary collapse

Attributes inherited from Proxying

#key, #proxy

Instance Method Summary collapse

Methods inherited from Proxying

#failsafe, proxying, #unproxied_redis

Constructor Details

#initializeEnum

Returns a new instance of Enum.



14
15
16
17
# File 'lib/kredis/types/enum.rb', line 14

def initialize(...)
  super
  define_predicates_for_values
end

Instance Attribute Details

#valuesObject

Returns the value of attribute values.



12
13
14
# File 'lib/kredis/types/enum.rb', line 12

def values
  @values
end

Instance Method Details

#resetObject



29
30
31
32
33
34
# File 'lib/kredis/types/enum.rb', line 29

def reset
  multi do
    del
    set_default
  end
end

#valueObject



25
26
27
# File 'lib/kredis/types/enum.rb', line 25

def value
  get
end

#value=(value) ⇒ Object



19
20
21
22
23
# File 'lib/kredis/types/enum.rb', line 19

def value=(value)
  if validated_choice = value.presence_in(values)
    set validated_choice
  end
end