module Reform::Form::Dry::InputHash

Private Instance Methods

input_hash(form) click to toggle source

we can’t use to_nested_hash as it get’s messed up by composition.

# File lib/reform/form/dry/input_hash.rb, line 18
def input_hash(form)
  hash = form.class.nested_hash_representer.new(form).to_hash
  symbolize_hash(hash)
end
symbolize_hash(old_hash) click to toggle source

dry-v needs symbolized keys TODO: Don’t do this here… Representers??

# File lib/reform/form/dry/input_hash.rb, line 25
def symbolize_hash(old_hash)
  old_hash.each_with_object({}) do |(k, v), new_hash|
    new_hash[k.to_sym] = if v.is_a?(Hash)
                           symbolize_hash(v)
                         elsif v.is_a?(Array)
                           v.map { |h| h.is_a?(Hash) ? symbolize_hash(h) : h }
                         else
                           v
                         end
  end
end