Module: Sequel::Plugins::EnumValues::ClassMethods

Defined in:
lib/sequel/plugins/enum_values.rb

Overview

Module for class methods

Instance Method Summary collapse

Instance Method Details

#enum_values(field) ⇒ Array<String>

Get enum values for specific field

Examples:

Get enum values for status field of Item model

Item.enum_values(:status)

Parameters:

  • field (Symbol)

    name of enum field

Returns:

  • (Array<String>)

    values of enum



56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/sequel/plugins/enum_values.rb', line 56

def enum_values(field)
  if @enum_values_caching && (cached_values = @enum_values_cache[field])
    return cached_values
  end

  field_schema = all_enum_fields[field]
  raise_field_nonexistent(field) if field_schema.nil?

  enum_values = field_schema[:enum_values]
  @enum_values_cache[field] = enum_values if @enum_values_caching
  enum_values
end