Class: RailsSettingsUi::Types::CustomCoercions::Array

Inherits:
Object
  • Object
show all
Defined in:
lib/rails-settings-ui/settings_form_coercible.rb

Class Method Summary collapse

Class Method Details

.[](value) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rails-settings-ui/settings_form_coercible.rb', line 22

def self.[](value)
  # array presented in checkboxes
  case value.class.name
  when 'Hash', 'ActiveSupport::HashWithIndifferentAccess'
    value.keys.map!(&:to_sym)
  when 'ActionController::Parameters'
    value.select{ |_,v| v == 'on' }.keys.map!(&:to_sym)
  else
    # or in select tag
    value.to_sym
  end
end