Class: ClassyEnum::SemanticFormBuilder

Inherits:
Formtastic::SemanticFormBuilder
  • Object
show all
Defined in:
lib/classy_enum/semantic_form_builder.rb

Overview

:nodoc: all

Instance Method Summary collapse

Instance Method Details

#enum_select_input(method, options) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/classy_enum/semantic_form_builder.rb', line 3

def enum_select_input(method, options)
  enum_class = object.send(method)

  if enum_class.nil?
    enum_class = (options[:enum_class] || method).to_s.classify.constantize rescue Error.invalid_classy_enum_object(method)
    options[:collection] = enum_class.select_options
  else
    Error.invalid_classy_enum_object unless enum_class.respond_to? :enum_classes
    options[:collection] = enum_class.class.superclass.select_options
    options[:selected] = enum_class.to_s
  end

  options[:include_blank] = false

  select_input(method, options)
end