Module: SimpleEnum

Defined in:
lib/simple_enum.rb,
lib/simple_enum/enum_hash.rb,
lib/simple_enum/validation.rb,
lib/simple_enum/object_support.rb

Overview

Base module which gets included in ActiveRecord::Base. See documentation of SimpleEnum::ClassMethods for more details.

Defined Under Namespace

Modules: ClassMethods, ObjectSupport, Validation Classes: EnumHash

Constant Summary collapse

VERSION =

SimpleEnum version string.

"1.3.2".freeze

Class Method Summary collapse

Class Method Details

.default_optionsObject

Provides configurability to SimpleEnum, allows to override some defaults which are defined for all uses of as_enum. Most options from as_enum are available, such as:

  • :prefix - Define a prefix, which is prefixed to the shortcut methods (e.g. <symbol>! and <symbol>?), if it’s set to true the enumeration name is used as a prefix, else a custom prefix (symbol or string) (default is nil => no prefix)

  • :slim - If set to true no shortcut methods for all enumeration values are being generated, if set to :class only class-level shortcut methods are disabled (default is nil => they are generated)

  • :upcase - If set to true the Klass.foos is named Klass.FOOS, why? To better suite some coding-styles (default is false => downcase)

  • :whiny - Boolean value which if set to true will throw an ArgumentError if an invalid value is passed to the setter (e.g. a value for which no enumeration exists). if set to false no exception is thrown and the internal value is set to nil (default is true)



40
41
42
43
44
45
# File 'lib/simple_enum.rb', line 40

def default_options
  @default_options ||= {
    :whiny => true,
    :upcase => false
  } 
end

.included(base) ⇒ Object

:nodoc:



47
48
49
# File 'lib/simple_enum.rb', line 47

def included(base) #:nodoc:
  base.send :extend, ClassMethods
end