def find_value(user, object)
      case object
      when Hash
        object.each.with_object({}) do |(key, value), hash|
          hash[key] = find_value(user, value)
        end
      when Array
        object.map do |value|
          find_value(user, value)
        end
      when Symbol
        user.public_send(object)
      else
        object
      end
    end
def find_value(user, object)
      case object
      when Hash
        object.each.with_object({}) do |(key, value), hash|
          hash[key] = find_value(user, value)
        end
      when Array
        object.map do |value|
          find_value(user, value)
        end
      when Symbol
        user.public_send(object)
      else
        object
      end
    end
`find_value` is a recursive method that takes a "user" and a
 "user schema" and replaces any symbols in the schema with the
 corresponding value from the user. Given a schema with symbols,
 `find_value` will search through the object for the symbols,
 send those symbols to the model, and replace the symbol with
 the return value.