Method: JSONRPC2::JsonObjectType#valid_object?

Defined in:
lib/jsonrpc2/types.rb

#valid_object?(interface, object, subset = false) ⇒ Boolean

Check that #object Hash is valid version of this type

Returns:

  • (Boolean)


142
143
144
145
146
# File 'lib/jsonrpc2/types.rb', line 142

def valid_object?(interface, object, subset = false)
  object.keys.all? { |key| fields.any? { |field| field[:name] == key } } &&
    fields.all? { |field| (object.keys.include?(field[:name]) &&
      Types.valid?(interface, field[:type], object[field[:name]])) || subset || (! field[:required]) }
end