Skip to content

Validing array but checking for hash? #49

@jberry

Description

@jberry

In lib/apipie_bindings/action.rb validate function, we have

if param_description.expected_type == :array
    value.each.with_index do |item, i|
        errors += validate(param_description.params, item, add_to_path(path, param_description.name, i))
    end
end

But when it's calling itself (the validate function), and the first line in that function is:

return [ErrorData.new(:invalid_type, path, 'Hash')] unless values.respond_to?(:keys)

Maybe I'm missing something (sure possible), but isn't that taking a value we're expecting to be an array, and checking against if it's a hash and returning 'it's not a hash!' error, even when its NOT supposed to be a hash? At least, that seems to be what I'm running into; bypassing this validation check and my call works fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions