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

proxying

Constructor Details

#initializeEnum

Returns a new instance of Enum.



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

def initialize(...)
  super
  define_predicates_for_values
end

Instance Attribute Details

#defaultObject

Returns the value of attribute default.



4
5
6
# File 'lib/kredis/types/enum.rb', line 4

def default
  @default
end

#valuesObject

Returns the value of attribute values.



4
5
6
# File 'lib/kredis/types/enum.rb', line 4

def values
  @values
end

Instance Method Details

#resetObject



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

def reset
  del
end

#valueObject



17
18
19
# File 'lib/kredis/types/enum.rb', line 17

def value
  get || default
end

#value=(value) ⇒ Object



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

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