Class: MockServer::Model::Enum

Inherits:
Object
  • Object
show all
Defined in:
lib/mockserver/model/enum.rb

Overview

Enum generic class

Direct Known Subclasses

Boolean, SymbolizedEnum

Instance Method Summary collapse

Constructor Details

#initialize(supplied_value) ⇒ Enum

Create an instance of the enum from the value supplied

Parameters:

  • supplied_value (Object)

    value used to create instance of an enum

Raises:

  • (Exception)

    if the supplied value is not valid for this enum



14
15
16
17
18
# File 'lib/mockserver/model/enum.rb', line 14

def initialize(supplied_value)
  supplied_value = pre_process_value(supplied_value)
  fail "Supplied value: #{supplied_value} is not valid. Allowed values are: #{allowed_values.inspect}" unless allowed_values.include?(supplied_value)
  @value = supplied_value
end

Instance Method Details

#allowed_valuesArray

Returns a list of values allowed by this enum.

Returns:

  • (Array)

    a list of values allowed by this enum



21
22
23
# File 'lib/mockserver/model/enum.rb', line 21

def allowed_values
  fail 'Override :allowed_values in Enum class'
end

#pre_process_value(value) ⇒ Object

A pre-process hook for a value before it is stored

Parameters:

  • value (Object)

    a value used to instantiate the enum

Returns:

  • (Object)

    the processed value. By default, a no-op implementation.



28
29
30
# File 'lib/mockserver/model/enum.rb', line 28

def pre_process_value(value)
  value
end

#to_sObject

Override this for JSON representation



33
34
35
# File 'lib/mockserver/model/enum.rb', line 33

def to_s
  @value.to_s
end