Class: Enumerated::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/enumerated/definition.rb

Overview

Wraps single enumerated definition declared in model.

Instance Method Summary collapse

Constructor Details

#initialize(model, attribute, declaration) ⇒ Definition

Returns a new instance of Definition.

Raises:



6
7
8
9
# File 'lib/enumerated/definition.rb', line 6

def initialize(model, attribute, declaration)
  @model, @attribute, @declaration = model, attribute, declaration
  raise ArgumentError, "Declared enumeration must be either Array or Hash." unless declaration.is_a?(Array) || declaration.is_a?(Hash)
end

Instance Method Details

#label(key) ⇒ Object



17
18
19
# File 'lib/enumerated/definition.rb', line 17

def label(key)
  @declaration.is_a?(Hash) ? @declaration[key.to_sym] : resolve_label(key)
end

#to_a(opts = {}) ⇒ Object



11
12
13
14
15
# File 'lib/enumerated/definition.rb', line 11

def to_a(opts = {})
  result = filtered for_select, opts
  result = overridden result, opts
  ordered result, opts
end