Module: ActiveEnum

Defined in:
lib/active_enum.rb,
lib/active_enum/base.rb,
lib/active_enum/railtie.rb,
lib/active_enum/version.rb,
lib/active_enum/extensions.rb,
lib/active_enum/acts_as_enum.rb,
lib/active_enum/storage/i18n_store.rb,
lib/active_enum/storage/memory_store.rb,
lib/active_enum/storage/abstract_store.rb,
lib/active_enum/form_helpers/simple_form.rb,
lib/generators/active_enum/locale_generator.rb,
lib/generators/active_enum/install_generator.rb

Defined Under Namespace

Modules: ActsAsEnum, Extensions, FormHelpers, Generators, Storage Classes: Base, DuplicateValue, EnumDefinitions, EnumNotFound, InvalidValue, NotFound, Railtie

Constant Summary collapse

VERSION =
'1.1.0'
@@enum_classes =
[]
@@use_name_as_value =
false
@@raise_on_not_found =
false
@@storage =
:memory
@@storage_options =
{}
@@extend_classes =
[]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configObject



37
38
39
# File 'lib/active_enum.rb', line 37

def self.config
  self
end

.define(&block) ⇒ Object

Define enums in bulk



51
52
53
54
# File 'lib/active_enum.rb', line 51

def self.define(&block)
  raise "Define requires block" unless block_given?
  EnumDefinitions.new.instance_eval(&block)
end

.setup {|config| ... } ⇒ Object

Setup method for plugin configuration

Yields:



32
33
34
35
# File 'lib/active_enum.rb', line 32

def self.setup
  yield config
  extend_classes!
end

.storage_classObject



56
57
58
# File 'lib/active_enum.rb', line 56

def self.storage_class
  @@storage_class ||= "ActiveEnum::Storage::#{storage.to_s.classify}Store".constantize
end

Instance Method Details

#storage=(*args) ⇒ Object



23
24
25
26
# File 'lib/active_enum.rb', line 23

def storage=(*args)
  @@storage_options = args.extract_options!
  @@storage = args.first
end