Module: Class::Enum::ClassMethods

Defined in:
lib/class/enum.rb

Instance Method Summary collapse

Instance Method Details

#key?(name) ⇒ Boolean

Checks a field of given name exists You can also do like ‘Animal::DOG.instance_of?(Animal)`

Parameters:

  • name (#to_sym)

Returns:

  • (Boolean)


61
62
63
64
# File 'lib/class/enum.rb', line 61

def key?(name)
  name = name.to_sym
  @enum_fields.key?(name)
end

#keysArray<Symbol>

Gets an array of enum field names

Returns:

  • (Array<Symbol>)

    (copied) An array of enum field names



92
93
94
# File 'lib/class/enum.rb', line 92

def keys
  @enum_fields.keys
end

#to_hHash{Symbol, Object}

Gets an hash of enum fields

Returns:

  • (Hash{Symbol, Object})

    (copied) An hash of enum fields



98
99
100
# File 'lib/class/enum.rb', line 98

def to_h
  @enum_fields.dup
end

#value(name) ⇒ Object

Gets a field by given name You can also do like Animal::DOG

Parameters:

  • name (#to_sym)

Returns:

  • A enum field with given name. If not exists, nil



79
80
81
# File 'lib/class/enum.rb', line 79

def value(name)
  @enum_fields[name.to_sym]
end

#value?(obj) ⇒ Boolean

Checks given value is a field of this enum

Parameters:

  • obj

Returns:

  • (Boolean)


70
71
72
# File 'lib/class/enum.rb', line 70

def value?(obj)
  @enum_fields.value?(obj)
end

#valuesArray Also known as: to_a

Gets an array of enum fields

Returns:

  • (Array)

    (copied) An array of enum fields



85
86
87
# File 'lib/class/enum.rb', line 85

def values
  @enum_fields.values
end