Class: Kredis::Types::Enum

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

Instance Attribute Summary collapse

Attributes inherited from Proxying

#key, #proxy, #redis

Instance Method Summary collapse

Methods inherited from Proxying

#failsafe, proxying

Constructor Details

#initializeEnum

Returns a new instance of Enum.



8
9
10
11
# File 'lib/kredis/types/enum.rb', line 8

def initialize(...)
  super
  define_predicates_for_values
end

Instance Attribute Details

#defaultObject

Returns the value of attribute default.



6
7
8
# File 'lib/kredis/types/enum.rb', line 6

def default
  @default
end

#valuesObject

Returns the value of attribute values.



6
7
8
# File 'lib/kredis/types/enum.rb', line 6

def values
  @values
end

Instance Method Details

#resetObject



23
24
25
# File 'lib/kredis/types/enum.rb', line 23

def reset
  del
end

#valueObject



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

def value
  get || default
end

#value=(value) ⇒ Object



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

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