Module: ActiveAdmin::Favorites::HashCoercion

Defined in:
lib/activeadmin/favorites/hash_coercion.rb

Class Method Summary collapse

Class Method Details

.assignment_values(assignments) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/activeadmin/favorites/hash_coercion.rb', line 22

def assignment_values(assignments)
  case assignments
  when ActionController::Parameters
    assignments.to_unsafe_h.values
  when Hash
    assignments.values
  else
    Array(assignments)
  end
end

.deep_stringify(value, default: {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/activeadmin/favorites/hash_coercion.rb', line 8

def deep_stringify(value, default: {})
  case value
  when Hash
    value.deep_stringify_keys
  when ActionController::Parameters
    value.to_unsafe_h.deep_stringify_keys
  else
    return default unless value.respond_to?(:to_h)

    hash = value.to_h
    hash.is_a?(Hash) ? hash.deep_stringify_keys : default
  end
end